Swift:
Написання текстового файлу
Як це зробити:
Використання стандартної бібліотеки Swift
Стандартна бібліотека Swift включає всі необхідні інструменти для запису текстових файлів. Ось базова методика:
import Foundation
let content = "Привіт, читачі Wired! Вивчення Swift веселе."
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("Файл успішно записано")
} catch let error as NSError {
print("Помилка запису за URL: \(fileName), Помилка: " + error.localizedDescription)
}
Цей фрагмент коду записує рядок у файл під назвою example.txt
у каталозі документів. Він обробляє потенційні помилки за допомогою обробки помилок Swift у вигляді do-try-catch.
Використання FileManager для більшого контролю
Для більшого контролю над атрибутами файлу або перевірки наявності файлу можна використовувати FileManager
:
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 = "Дослідження Swift для управління файлами є просвітливим."
if fileManager.fileExists(atPath: fileURL.path) {
print("Файл уже існує")
} else {
do {
try content.write(to: fileURL, atomically: true, encoding: .utf8)
print("Файл створено та успішно записано")
} catch {
print("Помилка запису файлу: \(error)")
}
}
}
Використання сторонніх бібліотек
Одна з популярних сторонніх бібліотек для операцій з файловою системою в Swift - це Files
від John Sundell:
Спочатку додайте Files до свого проекту, зазвичай через Swift Package Manager.
// swift-tools-version:5.3
import PackageDescription
let package = Package(
name: "YourPackageName",
dependencies: [
.package(url: "https://github.com/JohnSundell/Files", from: "4.0.0"),
],
targets: [
.target(
name: "YourTargetName",
dependencies: ["Files"]),
]
)
Потім використовуйте її для запису в файл:
import Files
do {
let file = try File(path: "/path/to/your/directory/example.txt")
try file.write(string: "Swift і бібліотека Files створюють потужну комбінацію.")
print("Файл успішно записано за допомогою бібліотеки Files.")
} catch {
print("Сталась помилка: \(error)")
}
З бібліотекою Files
робота з файлами стає простішою, що дозволяє вам зосередитись на бізнес-логіці вашого додатку, а не на нюансах управління файлами.