[003]Swift 对文件进行操作

2019-06-28  本文已影响0人  快乐捣蛋鬼

注意事项:

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)
    }
    
}

上一篇 下一篇

猜你喜欢

热点阅读