Verzeichnisse verwalten
Erstellen, listen und entfernen Sie Verzeichnisse.
Verzeichnisse verwalten ist eine kostenlose Swift Academy-Lektion auf CoddyKit. Dies ist Lektion 3 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Swift Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Swift Academy-Kurs umfasst insgesamt 4 Lektionen.
Verzeichnisse verwalten
FileManager ist das zentrale Objekt zum Erstellen, Auflisten, Verschieben und Löschen von Dateien und Ordnern.
Der gemeinsame FileManager
Verwenden Sie FileManager.default für die meisten Operationen. Er stellt eine threadsichere gemeinsame Instanz bereit.
import Foundation
let fm = FileManager.default
print("Got the default file manager")Ein Verzeichnis erstellen
createDirectory(at:withIntermediateDirectories:) erstellt einen Ordner und bei Bedarf auch alle fehlenden übergeordneten Verzeichnisse.
import Foundation
let fm = FileManager.default
let dir = URL(fileURLWithPath: "/tmp/myapp/cache")
try? fm.createDirectory(at: dir, withIntermediateDirectories: true)
print("Directory created")Existenz prüfen
fileExists(atPath:) meldet, ob ein Pfad vorhanden ist. Ein inout-Flag gibt an, ob es sich um ein Verzeichnis handelt.
import Foundation
let fm = FileManager.default
var isDir: ObjCBool = false
let exists = fm.fileExists(atPath: "/tmp", isDirectory: &isDir)
print("Exists: \(exists), isDir: \(isDir.boolValue)")Inhalte auflisten
contentsOfDirectory(at:includingPropertiesForKeys:) gibt die URLs innerhalb eines Ordners zurück.
import Foundation
let fm = FileManager.default
let dir = URL(fileURLWithPath: "/tmp")
if let items = try? fm.contentsOfDirectory(at: dir, includingPropertiesForKeys: nil) {
print("Item count: \(items.count)")
}Nur Namen auflisten
Das pfadbasierte contentsOfDirectory(atPath:) gibt einfache Dateinamen als Zeichenfolgen zurück, wenn Sie keine vollständigen URLs benötigen.
import Foundation
let fm = FileManager.default
if let names = try? fm.contentsOfDirectory(atPath: "/tmp") {
print("Names count: \(names.count)")
}Elemente entfernen
removeItem(at:) löscht eine Datei oder einen vollständigen Verzeichnisbaum. Verwenden Sie die Methode mit Bedacht.
import Foundation
let fm = FileManager.default
let url = URL(fileURLWithPath: "/tmp/myapp/cache/old.txt")
try? fm.removeItem(at: url)
print("Removed item if it existed")Verschieben und umbenennen
moveItem(at:to:) verschiebt oder benennt um; copyItem(at:to:) erstellt eine Kopie einer Datei.
import Foundation
let fm = FileManager.default
let src = URL(fileURLWithPath: "/tmp/a.txt")
let dst = URL(fileURLWithPath: "/tmp/b.txt")
try? fm.moveItem(at: src, to: dst)
print("Moved if source existed")Tiefgehend auflisten
Ein FileManager.DirectoryEnumerator durchläuft rekursiv einen gesamten Teilbaum und liefert jede darin enthaltene URL.
import Foundation
let fm = FileManager.default
let root = URL(fileURLWithPath: "/tmp")
if let e = fm.enumerator(at: root, includingPropertiesForKeys: nil) {
var count = 0
for case _ as URL in e { count += 1; if count > 5 { break } }
print("Walked some entries: \(count)")
}Dateiattribute
attributesOfItem(atPath:) gibt Metadaten wie Größe und Änderungsdatum in einem Wörterbuch zurück.
import Foundation
let fm = FileManager.default
if let attrs = try? fm.attributesOfItem(atPath: "/tmp"),
let size = attrs[.size] {
print("Has size attribute: \(size)")
}Fehler behandeln
Verzeichnisoperationen lösen bei fehlenden Berechtigungen oder nicht vorhandenen Pfaden Fehler aus. Schließen Sie sie in do/catch ein, um angemessen zu reagieren.
import Foundation
let fm = FileManager.default
do {
try fm.removeItem(at: URL(fileURLWithPath: "/no/such/file"))
} catch {
print("Remove failed: \(error.localizedDescription)")
}Schnelltest
Welche Option sorgt dafür, dass createDirectory auch fehlende übergeordnete Ordner erstellt?
Zusammenfassung
FileManager.default erstellt Ordner mit createDirectory, prüft mit fileExists, listet mit contentsOfDirectory, löscht mit removeItem und verschiebt oder kopiert Elemente. Außerdem haben Sie Teilbäume aufgelistet und Attribute gelesen. Als Nächstes folgen die App-Sandbox-Verzeichnisse.
Häufig gestellte Fragen
Ist die Lektion „Verzeichnisse verwalten“ kostenlos?
Ja — der vollständige Text von „Verzeichnisse verwalten“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Swift Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Swift Academy-Kurs umfasst insgesamt 4 Lektionen.
Was lerne ich in „Verzeichnisse verwalten“?
Erstellen, listen und entfernen Sie Verzeichnisse. Du übst Swift Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.
Brauche ich Erfahrung, um Swift Academy zu starten?
Keine Vorkenntnisse erforderlich. Swift Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 3 von 4.
Wie lange dauert die Lektion „Verzeichnisse verwalten“?
Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.
Kann ich in dieser Swift Academy-Lektion Code schreiben und ausführen?
Ja. Jede Swift Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.
Alle Lektionen in diesem Kurs
- URLs und Dateipfade
- Daten lesen und schreiben
- Verzeichnisse verwalten
- App-Sandbox-Verzeichnisse