Swift:
Rédiger un fichier texte
Comment faire :
Utilisation de la bibliothèque standard Swift
La bibliothèque standard de Swift inclut tous les outils nécessaires pour écrire des fichiers texte. Voici une approche de base :
import Foundation
let content = "Bonjour, lecteurs de Wired ! Apprendre Swift est amusant."
let filePath = NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true)[0] as String
let fileName = "\(filePath)/exemple.txt"
do {
try content.write(toFile: fileName, atomically: false, encoding: String.Encoding.utf8)
print("Fichier écrit avec succès")
} catch let error as NSError {
print("Échec de l'écriture vers l'URL : \(fileName), Erreur : " + error.localizedDescription)
}
Ce morceau de code écrit une chaîne de caractères dans un fichier nommé exemple.txt
dans le répertoire des documents. Il gère les erreurs potentielles en utilisant la gestion des erreurs do-try-catch de Swift.
Utilisation de FileManager pour plus de contrôle
Pour plus de contrôle sur les attributs des fichiers ou pour vérifier si le fichier existe déjà, FileManager
peut être utilisé :
import Foundation
let fileManager = FileManager.default
let directories = fileManager.urls(for: .documentDirectory, in: .userDomainMask)
if let documentDirectory = directories.first {
let fileURL = documentDirectory.appendingPathComponent("exemple.txt")
let content = "Explorer Swift pour la gestion de fichiers est éclairant."
if fileManager.fileExists(atPath: fileURL.path) {
print("Le fichier existe déjà")
} else {
do {
try content.write(to: fileURL, atomically: true, encoding: .utf8)
print("Fichier créé et écrit avec succès")
} catch {
print("Erreur lors de l'écriture du fichier : \(error)")
}
}
}
Utilisation de bibliothèques tierces
Une bibliothèque tierce populaire pour les opérations sur les systèmes de fichiers en Swift est Files
de John Sundell :
D’abord, ajoutez Files à votre projet, généralement via le Swift Package Manager.
// swift-tools-version:5.3
import PackageDescription
let package = Package(
name: "VotreNomDePaquet",
dependencies: [
.package(url: "https://github.com/JohnSundell/Files", from: "4.0.0"),
],
targets: [
.target(
name: "VotreNomDeCible",
dependencies: ["Files"]),
]
)
Ensuite, utilisez-le pour écrire dans un fichier :
import Files
do {
let file = try File(path: "/chemin/vers/votre/dossier/exemple.txt")
try file.write(string: "Swift et la bibliothèque Files forment une combinaison puissante.")
print("Fichier écrit avec succès en utilisant la bibliothèque Files.")
} catch {
print("Une erreur s'est produite : \(error)")
}
Avec la bibliothèque Files
, la gestion des fichiers devient plus simple, vous permettant de vous concentrer sur la logique métier de votre application plutôt que sur les détails de la gestion des fichiers.