Swift:
Skrive en tekstfil
Hvordan:
Ved bruk av Swift Standardbibliotek
Swifts standardbibliotek inneholder alle verktøyene som trengs for å skrive tekstfiler. Her er en grunnleggende tilnærming:
import Foundation
let innhold = "Hallo, Wired-lesere! Å lære Swift er gøy."
let filsti = NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true)[0] as String
let filnavn = "\(filsti)/eksempel.txt"
do {
try innhold.write(toFile: filnavn, atomically: false, encoding: String.Encoding.utf8)
print("Fil skrevet vellykket")
} catch let error as NSError {
print("Mislyktes å skrive til URL: \(filnavn), Feil: " + error.localizedDescription)
}
Denne koden skriver en streng til en fil kalt eksempel.txt
i dokumentmappen. Den håndterer potensielle feil ved å bruke Swifts do-try-catch feilhåndtering.
Bruke FileManager for mer kontroll
For mer kontroll over filattributter eller for å sjekke om filen allerede eksisterer, kan FileManager
brukes:
import Foundation
let fileManager = FileManager.default
let kataloger = fileManager.urls(for: .documentDirectory, in: .userDomainMask)
if let dokumentkatalog = kataloger.first {
let filURL = dokumentkatalog.appendingPathComponent("eksempel.txt")
let innhold = "Å utforske Swift for filhåndtering er opplysende."
if fileManager.fileExists(atPath: filURL.path) {
print("Filen eksisterer allerede")
} else {
do {
try innhold.write(to: filURL, atomically: true, encoding: .utf8)
print("Fil opprettet og skrevet vellykket")
} catch {
print("Feil ved skriving av fil: \(error)")
}
}
}
Bruke Tredjepartsbiblioteker
Ett populært tredjepartsbibliotek for filsystemoperasjoner i Swift er Files
av John Sundell:
Først, legg Files til i prosjektet ditt, vanligvis via Swift Package Manager.
// swift-tools-version:5.3
import PackageDescription
let pakke = Package(
name: "DittPakkenavn",
dependencies: [
.package(url: "https://github.com/JohnSundell/Files", from: "4.0.0"),
],
targets: [
.target(
name: "DittMålnavn",
dependencies: ["Files"]),
]
)
Deretter, bruk det til å skrive til en fil:
import Files
do {
let fil = try File(path: "/sti/til/din/katalog/eksempel.txt")
try fil.write(string: "Swift og Files-biblioteket utgjør en kraftig kombinasjon.")
print("Fil skrevet vellykket ved bruk av Files bibliotek.")
} catch {
print("En feil oppstod: \(error)")
}
Med Files
-biblioteket blir håndtering av filer mer grei, slik at du kan fokusere på forretningslogikken i applikasjonen din i stedet for den nitty-gritty av filhåndtering.