Swift:
Att skriva en textfil
Hur man gör:
Använda Swifts standardbibliotek
Swifts standardbibliotek inkluderar alla verktyg som behövs för att skriva textfiler. Här är en grundläggande metod:
import Foundation
let content = "Hej, Wired-läsare! Att lära sig Swift är kul."
let filePath = NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true)[0] as String
let fileName = "\(filePath)/example.txt"
do {
try content.write(toFile: fileName, atomically: false, encoding: String.Encoding.utf8)
print("Filen skrevs framgångsrikt")
} catch let error as NSError {
print("Misslyckades med att skriva till URL: \(fileName), Fel: " + error.localizedDescription)
}
Denna kodsnutt skriver en sträng till en fil som heter example.txt
i dokumentkatalogen. Den hanterar potentiella fel med Swifts do-try-catch felhantering.
Använda FileManager för mer kontroll
För mer kontroll över filattribut eller för att kontrollera om filen redan finns, kan FileManager
användas:
import Foundation
let fileManager = FileManager.default
let directories = fileManager.urls(for: .documentDirectory, in: .userDomainMask)
if let documentDirectory = directories.first {
let fileURL = documentDirectory.appendingPathComponent("example.txt")
let content = "Att utforska Swift för filhantering är upplysande."
if fileManager.fileExists(atPath: fileURL.path) {
print("Filen finns redan")
} else {
do {
try content.write(to: fileURL, atomically: true, encoding: .utf8)
print("Filen skapades och skrevs framgångsrikt")
} catch {
print("Fel vid skrivning av fil: \(error)")
}
}
}
Använda tredjepartsbibliotek
Ett populärt tredjepartsbibliotek för filsystemoperationer i Swift är Files
av John Sundell:
Först, lägg till Files i ditt projekt, vanligtvis via Swift Package Manager.
// swift-tools-version:5.3
import PackageDescription
let package = Package(
name: "DittPaketnamn",
dependencies: [
.package(url: "https://github.com/JohnSundell/Files", from: "4.0.0"),
],
targets: [
.target(
name: "DittMålnamn",
dependencies: ["Files"]),
]
)
Sedan använder du det för att skriva till en fil:
import Files
do {
let file = try File(path: "/path/till/din/katalog/example.txt")
try file.write(string: "Swift och Files-biblioteket utgör en kraftfull kombination.")
print("Filen skrevs framgångsrikt med hjälp av Files-biblioteket.")
} catch {
print("Ett fel inträffade: \(error)")
}
Med Files
-biblioteket blir hantering av filer mer rakt på sak, vilket låter dig fokusera på affärslogiken i din applikation snarare än på de detaljerade aspekterna av filhantering.