Swift:
Eine Textdatei schreiben
Wie zu:
Verwendung der Swift Standardbibliothek
Die Standardbibliothek von Swift umfasst alle notwendigen Werkzeuge zum Schreiben von Textdateien. Hier ist ein grundlegender Ansatz:
import Foundation
let content = "Hallo, Wired-Leser! Swift zu lernen macht Spaß."
let filePath = NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true)[0] as String
let fileName = "\(filePath)/beispiel.txt"
do {
try content.write(toFile: fileName, atomically: false, encoding: String.Encoding.utf8)
print("Datei erfolgreich geschrieben")
} catch let error as NSError {
print("Schreiben zur URL fehlgeschlagen: \(fileName), Fehler: " + error.localizedDescription)
}
Dieser Codeausschnitt schreibt eine Zeichenkette in eine Datei namens beispiel.txt
im Dokumentenverzeichnis. Er behandelt mögliche Fehler mit Swifts Fehlerbehandlung do-try-catch.
Verwendung von FileManager für mehr Kontrolle
Für mehr Kontrolle über Dateiattribute oder um zu überprüfen, ob die Datei bereits existiert, kann FileManager
verwendet werden:
import Foundation
let fileManager = FileManager.default
let directories = fileManager.urls(for: .documentDirectory, in: .userDomainMask)
if let documentDirectory = directories.first {
let fileURL = documentDirectory.appendingPathComponent("beispiel.txt")
let content = "Swift für Dateiverwaltung zu erkunden ist aufschlussreich."
if fileManager.fileExists(atPath: fileURL.path) {
print("Datei existiert bereits")
} else {
do {
try content.write(to: fileURL, atomically: true, encoding: .utf8)
print("Datei erfolgreich erstellt und geschrieben")
} catch {
print("Fehler beim Schreiben der Datei: \(error)")
}
}
}
Verwendung von Drittanbieter-Bibliotheken
Eine beliebte Drittanbieter-Bibliothek für Dateisystemoperationen in Swift ist Files
von John Sundell:
Fügen Sie zunächst Files Ihrem Projekt hinzu, üblicherweise über den Swift Package Manager.
// swift-tools-version:5.3
import PackageDescription
let package = Package(
name: "IhrPaketName",
dependencies: [
.package(url: "https://github.com/JohnSundell/Files", from: "4.0.0"),
],
targets: [
.target(
name: "IhrZielName",
dependencies: ["Files"]),
]
)
Verwenden Sie es dann, um in eine Datei zu schreiben:
import Files
do {
let file = try File(path: "/pfad/zu/ihrem/verzeichnis/beispiel.txt")
try file.write(string: "Swift und die Files-Bibliothek bilden eine starke Kombination.")
print("Datei erfolgreich mit Files-Bibliothek geschrieben.")
} catch {
print("Ein Fehler ist aufgetreten: \(error)")
}
Mit der Files
-Bibliothek wird die Dateibehandlung unkomplizierter, sodass Sie sich auf die Geschäftslogik Ihrer Anwendung konzentrieren können anstatt auf die Details der Dateiverwaltung.