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("文件成功写入")
} 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 中一个用于文件系统操作的流行第三方库是 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 和 Files 库结合使用非常强大。")
    print("使用 Files 库成功写入文件。")
} catch {
    print("发生错误:\(error)")
}

有了 Files 库,文件处理变得更加直接,允许你专注于应用程序的业务逻辑,而不是文件管理的繁琐细节。