【问题标题】:NSDocumentDirectory remove folderNSDocumentDirectory 删除文件夹
【发布时间】:2017-10-19 10:37:59
【问题描述】:

我在文档目录中创建了一个文件夹:

fileManager.createDirectory(atPath:ziPFolderPath,withIntermediateDirectories: false, attributes: nil)  

在这个文件夹中,我放置了一些文件。
稍后在应用程序中,我不仅要删除上述文件夹中的文件,还要删除文件夹。
FileManager 支持removeItem 功能,但我想知道它是否也删除了文件夹。

【问题讨论】:

    标签: ios swift nsdocumentdirectory


    【解决方案1】:

    是的,它也会删除文件夹。

    来自以下文档: - removeItem(at:)

    删除指定 URL 处的文件或目录。

    来自以下文档: - removeItem(atPath:)

    删除指定路径的文件或目录。

    编辑:你可以这样称呼它。

    try? FileManager.default.removeItem(at: URL(fileURLWithPath: ziPFolderPath))
    //OR
    try? FileManager.default.removeItem(atPath: ziPFolderPath)
    

    【讨论】:

    • 好的。但是我将通过的路径或网址是什么。因为文档根目录具有该文件夹以及 sqlite 文件。我只想删除文件夹。
    • @Nitish 您需要传递该 zip 目录的路径。还要检查编辑后的答案
    • 这就是目的
    • @Nitish 欢迎朋友 :)
    【解决方案2】:

    斯威夫特 5

    您还应该检查路径中是否存在文件并检查错误。

    do {
        let fileManager = FileManager.default
    
        // Check if file exists
        if fileManager.fileExists(atPath: urlfilePath) {
            // Delete file
            try fileManager.removeItem(atPath: urlfilePath)
        } else {
            print("File does not exist")
        }
    } catch {
        print("An error took place: \(error)")
    }
    

    【讨论】:

      【解决方案3】:
      -(BOOL)removeItemAtPath:(NSString *)path 
                         error:(NSError * _Nullable *)error;
      

      path 是指示要删除的目录或文件夹的字符串。它是一个 NSFileManager 方法。

      你也可以在这里查看https://developer.apple.com/reference/foundation/nsfilemanager/1408573-removeitematpath?language=objc

      【讨论】:

      • PO 要求用 Swift 编写解决方案。
      猜你喜欢
      • 2011-11-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-01-06
      • 1970-01-01
      • 1970-01-01
      • 2015-07-07
      相关资源
      最近更新 更多