Kontrollera om en katalog existerar

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.