取得目錄下所有文件,示例函數:
static func getAllFilePath(_ dirPath: String) -> [String]? {
var filePaths = [String]()
do {
let array = try FileManager.default.contentsOfDirectory(atPath: dirPath)
for fileName in array {
var isDir: ObjCBool = true
let fullPath = "\(dirPath)/\(fileName)"
if FileManager.default.fileExists(atPath: fullPath, isDirectory: &isDir) {
if !isDir.boolValue {
filePaths.append(fullPath)
}
}
}
} catch let error as NSError {
print("get file path error: \(error)")
}
return filePaths;
}
FileManager用來獲取指定目錄下的子項(文件或文件夾)列表的方法有兩種:
open func contentsOfDirectory(atPath path: String) throws -> [String]
open func subpaths(atPath path: String) -> [String]?
區別是:
前者以非遞歸的方式獲取子項列表,而后者以遞歸的方式獲取子項列表。