0

我正在尝试在给定路径的最后一个目录中获取文件的名称(JSON 格式但没有扩展名)。每个文件都在应用程序的数据容器中使用其自己的唯一子路径保存。

我还需要获取文件的完整路径,包括文件名。

根据我的阅读,我认为使用 URL 比使用字符串路径更好。

我尝试了以下代码:

do {
    let enumerator = FileManager.default.enumerator(at: filePath, includingPropertiesForKeys: nil)
    while let element = enumerator?.nextObject() as? URL {
    var nexObject = element.lastPathComponent
        print(nextObject)
    }
} catch let error {
    print(error.localizedDescription)
}

这似乎确实会遍历路径的每个级别,直到结束。很好,但是除了连接上面的每个对象之外,获取完整路径(包括文件名)的最佳方法是什么?

所有的建议都欣然接受。谢谢!

4

2 回答 2

1

URLelement一样,如果您对完整路径名而不是最后一个组件感兴趣,请选择:

    var nextObject = element.absoluteURL  // instead of .lastPathComponent

要不就

    var nextObject = element.path  // or even relativePath 
于 2021-12-31T16:24:52.647 回答
1

谢谢@Christophe (+1)

我还发现文档提供enumerator(at:includingPropertiesForKeys:options:errorHandler:)了一个很好的示例,可以通过使用其他资源键(例如名称、路径等)为我的目的进行修改。

于 2021-12-31T17:53:36.720 回答