Swift:
Kontrollera om en katalog existerar
Hur:
Swifts Foundation-ramverk tillhandahåller FileManager
-klassen, som har metoder för att hantera filsystemet. Du kan använda FileManager
för att kontrollera om en katalog finns. Här är en kodsnutt för hur man gör detta:
import Foundation
let fileManager = FileManager.default
let path = "/path/to/your/directory"
if fileManager.fileExists(atPath: path, isDirectory: nil) {
print("Katalogen finns")
} else {
print("Katalogen finns inte")
}
Detta kontrollerar dock både filer och kataloger. Om du specifikt vill verifiera att en katalog finns, behöver du skicka en pekare till ett Booleskt värde i isDirectory
:
import Foundation
let fileManager = FileManager.default
let path = "/path/to/your/directory"
var isDirectory: ObjCBool = false
if fileManager.fileExists(atPath: path, isDirectory: &isDirectory), isDirectory.boolValue {
print("Katalogen finns")
} else {
print("Katalogen finns inte")
}
Användning av ett tredjepartsbibliotek
Som det är nu, kräver inte kontrollen av om en katalog finns i Swift vanligtvis tredjepartsbibliotek på grund av FileManager
-klassens robusthet. Dock, för mer komplex filhantering och kontroll, erbjuder bibliotek som Files av John Sundell ett mer Swift-vänligt API.
Så här kan du använda det:
Först, lägg till Files i ditt projekt via Swift Package Manager.
Sedan kan du kontrollera om en katalog finns på följande sätt:
import Files
do {
_ = try Folder(path: "/path/to/your/directory")
print("Katalogen finns")
} catch {
print("Katalogen finns inte")
}
Notera: Eftersom tredjepartsbibliotek kan ändra sig, referera alltid till den senaste dokumentationen för användning och bästa praxis.