如何遍历文件夹(带有可能包含更多子目录的子目录)并删除文件(如果它不是目录)?本质上,我在问如何清除所有目录。我enumeratorAtPath:
在这方面的方法有点麻烦,因为我不确定如何询问枚举器当前文件是否是目录。确实需要fileAttributes
查字典。注意:这对我来说可能是非常错误的,但我用路径的 NSString 初始化枚举器。这有什么改变吗?
问问题
2971 次
1 回答
7
像这样的东西会起作用:
NSURL *rootURL = ... // File URL of the root directory you need
NSFileManager *fm = [NSFileManager defaultManager];
NSDirectoryEnumerator *dirEnumerator = [fm enumeratorAtURL:rootURL
includingPropertiesForKeys:@[NSURLNameKey, NSURLIsDirectoryKey]
options:NSDirectoryEnumerationSkipsHiddenFiles
errorHandler:nil];
for (NSURL *url in dirEnumerator) {
NSNumber *isDirectory;
[url getResourceValue:&isDirectory forKey:NSURLIsDirectoryKey error:NULL];
if (![isDirectory boolValue]) {
// This is a file - remove it
[fm removeItemAtURL:url error:NULL];
}
}
于 2013-07-14T03:25:22.613 回答