快速递归列出文件夹中的所有文件

餐饮

我正在学习快速,想知道什么是列出目录中具有绝对路径的所有文件的最佳方法,包括子文件夹中的文件(仅文件)

我尝试了以下操作,但似乎列出了所有内容名称,甚至没有完整路径的文件夹名称。

let paths = FileManager.default.subpaths(atPath: folderPath)
    for p in paths! {
       print p
    }
}

以及

let items = try fm.contentsOfDirectory(atPath: folderPath)

谷歌搜索没有任何工作方法。

这是针对macOS 10.14

任何帮助表示赞赏!

谢谢

瓦迪安

FileManager 还有一种用于深度搜索的方法: enumerator(at:includingPropertiesForKeys:options:errorHandler:)

要仅获取文件,您必须迭代枚举器并过滤文件

let url = URL(fileURLWithPath: "/path/to/directory")
var files = [URL]()
if let enumerator = FileManager.default.enumerator(at: url, includingPropertiesForKeys: [.isRegularFileKey], options: [.skipsHiddenFiles, .skipsPackageDescendants]) {
    for case let fileURL as URL in enumerator {
        do {
            let fileAttributes = try fileURL.resourceValues(forKeys:[.isRegularFileKey])
            if fileAttributes.isRegularFile! {
                files.append(fileURL)
            }
        } catch { print(error, fileURL) }
    }
    print(files)
}

强烈建议使用URL而不是字符串路径。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

快速递归查找并打印文件夹中的所有文件,但不包括`node_modules`和`.git`中的文件

列出文件夹中的所有文件以及子文件夹

列出文件夹中的所有文件ID(无子文件夹)

在python的zip文件中列出文件夹中的所有文件

以cmd列出所有文件夹和子文件夹,但不列出文件

如何列出文件夹中的所有文件然后选择多个文件

如何列出文件夹的所有属性

命令列出文件夹中的所有文件以及Windows中的子文件夹

列出文件大小给定结构中的所有文件夹和子文件夹

在Yosemite上使用JavaScript for Automation列出文件夹中的所有文件

如何使用angular js列出文件夹中的所有文件名

R不会列出文件夹中的所有文件

AWS S3-列出文件夹中没有前缀的所有对象

VBA在没有FileSystemObject的子文件夹中列出所有文件(快速方式)

此代码如何列出文件夹中的所有项目?

Shell脚本列出文件夹中的所有目录并为每个目录运行命令

使用 Outlook MAPI 列出文件夹中的所有电子邮件

列出文件夹中的所有文件,并在每个文件名之间添加句子

如何列出文件夹中所有.zip文件的内容以及特定文件的grep?

是否有一种算法可以列出文件夹中的所有文件(对于 C#)?

列出文件夹中的所有 json 文件,然后按日期排序并对其进行分页

如何列出文件夹中以“.dat”结尾的所有文件以及最近的更改(日期时间)

Git-列出文件文件夹的所有作者?

如何列出tomcat文件夹中的所有文件?

列出R中没有子文件夹的文件夹中的所有文件

列出文件夹和子文件夹中的文件,并带有.txt文件的路径

从递归文件夹中删除所有zip文件

递归测试文件夹中的所有flac文件

如何从Postgres内部列出文件夹中的文件?