ios - 如何将文件存储在使用 “documentDirectory” swift 创建的文件夹中

标签 ios swift

我正在使用带有以下代码的 createDirectory 创建新文件夹。

    *let paths = NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true)
    // Get documents folder
    let documentsDirectory: String = paths.first ?? ""
    // Get your folder path
    let dataPath = documentsDirectory + "/MyNewFolder"
    print("Path\(dataPath)")
    if !FileManager.default.fileExists(atPath: dataPath) {
        // Creates that folder if no exists
        try? FileManager.default.createDirectory(atPath: dataPath, withIntermediateDirectories: false, attributes: nil)
    }*

现在我想在“MyNewFolder”下存储新文件,如 log.text。谁能建议我如何在“MyNewFolder”文件夹下保存新文件

提前致谢。

最佳答案

NSSearchPathForDirectoriesInDomains 已过时。推荐API为FileManager

的URL相关API
let folderName = "MyNewFolder"
let fileManager = FileManager.default
let documentsFolder = try! fileManager.url(for: .documentDirectory, in: .userDomainMask, appropriateFor: nil, create: false)
let folderURL = documentsFolder.appendingPathComponent(folderName)
let folderExists = (try? folderURL.checkResourceIsReachable()) ?? false
do {
    if !folderExists {
        try fileManager.createDirectory(at: folderURL, withIntermediateDirectories: false)
    }
    let fileURL = folderURL.appendingPathComponent("log.txt")
    let hello = Data("hello".utf8)
    try hello.write(to: fileURL)

} catch { print(error) }

强烈建议您不要通过连接字符串来构建路径。

关于ios - 如何将文件存储在使用 “documentDirectory” swift 创建的文件夹中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54290842/

相关文章:

ios - 如何在 Firebase RemoteConfig 中针对某些构建版本和更高版本使用包含正则表达式的条件定位应用程序版本?

ios - 解析 iOS SDK 1.8.5 导致 try throw 和 PFObject 条件转换错误

swift - Swift 中惰性变量的优势是什么

ios - UIAlertController 和 UIViewAlertForUnsatisfiableConstraints 错误

ios - 从 Swift (iOS) 进行 HTTP 调用(GET、POST 等)

ios - UITableViewCell 中所有方向的动态 UILabel 高度/宽度

ios - Cocoapods 不更新单个 pod

ios - 自定义 UITableViewCell 为空白(Swift)

objective-c - 将新字符串从 objective-c 返回到 swift 时损坏的字符串

ios - 为什么要执行我的 segue?