listing all files in a folder recursively with swift

前端 未结 1 689
别跟我提以往
别跟我提以往 2020-12-11 07:22

I\'m learning swift and wondering what\'s the best way to list all files with absolute path in a directory including ones from subfolders(files only)

I tried with f

相关标签:
1条回答
  • 2020-12-11 08:06

    FileManager has also a method for a deep search: enumerator(at:includingPropertiesForKeys:options:errorHandler:)

    To get only the files you have to iterate the enumerator and filter the files

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

    It's highly recommended to use URLs rather than string paths.

    0 讨论(0)
提交回复
热议问题