注意事项:
1.文件路径 filePath 是 String 类型
2.文件URL fileURL 是 URL 类型
3. filePath 转 fileURL 时要使用URL(fileURLWithPath:)
URL(string: "/user/test")
// /user/test
URL(fileURLWithPath: "/user/test")
// file:///user/test
4.在对文件进行写入/删除/重命名时,最好能先判断一下该文件是否存在
func fileOperations() {
do {
// 获取当前 App 对应的 Cache 路径
let cachePath = NSSearchPathForDirectoriesInDomains(.cachesDirectory, .userDomainMask, true)[0]
// 创建一个名为 AppLog.log 的文件URL
let logfileURL = URL(fileURLWithPath: cachePath).appendingPathComponent("AppLog.log")
// 创建一个名为 AppLog.log 的文件
FileManager.default.createFile(atPath: logfileURL.path, contents: nil, attributes: nil)
// 在文件末尾写入
let fileHandler = try FileHandle(forWritingTo: logfileURL)
let stringData = "This is a test!"
fileHandler.seekToEndOfFile()
fileHandler.write(stringData.data(using: .utf8)!)
// 查看文件大小
let attr = try FileManager.default.attributesOfItem(atPath: logfileURL.path)
let fileSize = attr[FileAttributeKey.size] as! UInt64
print(fileSize)
// 判断文件是否存在
if FileManager.default.fileExists(atPath: logfileURL.path) {
}
// 删除文件
try FileManager.default.removeItem(at: logfileURL)
// 文件重命名
let oldfileURL = URL(fileURLWithPath: cachePath).appendingPathComponent("newFile.log")
let newfileURL = URL(fileURLWithPath: cachePath).appendingPathComponent("oldFile.log")
try FileManager.default.moveItem(at: oldfileURL, to: newfileURL)
} catch let error as NSError {
print(error)
}
}
网友评论