Swift:
텍스트 파일 쓰기
방법:
Swift 표준 라이브러리 사용하기
Swift의 표준 라이브러리에는 텍스트 파일을 작성하는 데 필요한 모든 도구가 포함되어 있습니다. 기본적인 접근 방법은 다음과 같습니다:
import Foundation
let content = "Hello, Wired readers! Learning Swift is fun."
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("File written successfully")
} catch let error as NSError {
print("Failed writing to URL: \(fileName), Error: " + 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 = "Exploring Swift for file management is enlightening."
if fileManager.fileExists(atPath: fileURL.path) {
print("File already exists")
} else {
do {
try content.write(to: fileURL, atomically: true, encoding: .utf8)
print("File created and written successfully")
} catch {
print("Error writing file: \(error)")
}
}
}
타사 라이브러리 사용하기
Swift에서 파일 시스템 작업을 위한 인기 있는 타사 라이브러리 중 하나는 John Sundell의 Files
입니다:
먼저, Swift 패키지 매니저를 통해 프로젝트에 Files를 추가하세요.
// 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 and Files library make a powerful combination.")
print("File written successfully using Files library.")
} catch {
print("An error occurred: \(error)")
}
Files
라이브러리를 사용하면 파일 처리가 더 간단해져 애플리케이션의 비즈니스 로직에 집중할 수 있게 해줍니다. 파일 관리의 복잡성보다는요.