删除文档目录中的多个文件
Delete multiple files in Document Directory
我正在尝试创建一个功能,我可以删除文档目录中具有给定文件扩展名的多个文件。
到目前为止,我有以下功能,但我可以在旧版本上完成它以删除文件创建吗?
static func searchFilesDocumentsFolder(Extension: String) {
let documentsUrl = NSFileManager.defaultManager().URLsForDirectory(.DocumentDirectory, inDomains: .UserDomainMask).first!
do {
let directoryUrls = try NSFileManager.defaultManager().contentsOfDirectoryAtURL(documentsUrl, includingPropertiesForKeys: nil, options: NSDirectoryEnumerationOptions())
//print(directoryUrls)
let Files = directoryUrls.filter{ [=10=].pathExtension == Extension }.map{ [=10=].lastPathComponent }
print("\(Extension) FILES:\n" + Files.description)
} catch let error as NSError {
print(error.localizedDescription)
}
}
for file in Files {
try NSFileManager.defaultManager().removeItemAtPath(file)
}
对于 Swift 3 和 Swift 4.0
let fileManager : FileManager = FileManager.default
let nsDocumentDirectory = FileManager.SearchPathDirectory.documentDirectory
let nsUserDomainMask = FileManager.SearchPathDomainMask.userDomainMask
let paths : NSArray = NSSearchPathForDirectoriesInDomains(nsDocumentDirectory, nsUserDomainMask, true) as NSArray
let documentsDirectory = paths.object(at: 0) as! NSString
print(documentsDirectory)
let contents : NSArray = try! fileManager.contentsOfDirectory(atPath: documentsDirectory as String) as NSArray
let enumerator : NSEnumerator = contents.objectEnumerator()
while let element = enumerator.nextObject() as? String
{
let fileName = element as NSString
if fileName.pathExtension == "m4a"
{
let pathOfFile = documentsDirectory.appendingPathComponent(fileName as String)
try! fileManager.removeItem(atPath: pathOfFile)
}
}
我正在尝试创建一个功能,我可以删除文档目录中具有给定文件扩展名的多个文件。
到目前为止,我有以下功能,但我可以在旧版本上完成它以删除文件创建吗?
static func searchFilesDocumentsFolder(Extension: String) {
let documentsUrl = NSFileManager.defaultManager().URLsForDirectory(.DocumentDirectory, inDomains: .UserDomainMask).first!
do {
let directoryUrls = try NSFileManager.defaultManager().contentsOfDirectoryAtURL(documentsUrl, includingPropertiesForKeys: nil, options: NSDirectoryEnumerationOptions())
//print(directoryUrls)
let Files = directoryUrls.filter{ [=10=].pathExtension == Extension }.map{ [=10=].lastPathComponent }
print("\(Extension) FILES:\n" + Files.description)
} catch let error as NSError {
print(error.localizedDescription)
}
}
for file in Files {
try NSFileManager.defaultManager().removeItemAtPath(file)
}
对于 Swift 3 和 Swift 4.0
let fileManager : FileManager = FileManager.default
let nsDocumentDirectory = FileManager.SearchPathDirectory.documentDirectory
let nsUserDomainMask = FileManager.SearchPathDomainMask.userDomainMask
let paths : NSArray = NSSearchPathForDirectoriesInDomains(nsDocumentDirectory, nsUserDomainMask, true) as NSArray
let documentsDirectory = paths.object(at: 0) as! NSString
print(documentsDirectory)
let contents : NSArray = try! fileManager.contentsOfDirectory(atPath: documentsDirectory as String) as NSArray
let enumerator : NSEnumerator = contents.objectEnumerator()
while let element = enumerator.nextObject() as? String
{
let fileName = element as NSString
if fileName.pathExtension == "m4a"
{
let pathOfFile = documentsDirectory.appendingPathComponent(fileName as String)
try! fileManager.removeItem(atPath: pathOfFile)
}
}