我们获取文件夹的所有文件时,有时需要过滤掉隐藏文件等等操作
那么函数:enumeratorAtURL 无疑是一个很好用的函数
其里面的两个参数,includingPropertiesForKeys 和 options 可以很好的帮助我们进行很好的设置
includingPropertiesForKeys是一个包含属性的数组,比如:NSURLIsDirectoryKey,这个属性
就可以帮助我们获取文件是否是文件夹
options可以用来设置需要过滤的文件,比如:NSDirectoryEnumerationSkipsHiddenFiles
就可以过滤掉隐藏的文件
具体使用,例如:
NSDirectoryEnumerationOptions options=(NSDirectoryEnumerationSkipsHiddenFiles);
NSArray *keyArray=[NSArray arrayWithObjects:NSURLIsDirectoryKey,nil];
NSDirectoryEnumerator *dirEnum=[fileManager enumeratorAtURL:fileUrl includingPropertiesForKeys:keyArray options:options errorHandler:nil];
for (NSURL *theURL in dirEnum) {
NSNumber *isDirectory;
[theURL getResourceValue:&isDirectory forKey:NSURLIsDirectoryKey error:NULL];
if ([isDirectory boolValue]) {
这是一个文件夹
}
}
includingPropertiesForKeys 属性有好多,这里仅介绍几个:
NSURLNameKey:文件名
NSURLIsDirectoryKey:是否是文件夹
NSURLIsPackageKey:是否是一个包(比如APP)
NSURLIsHiddenKey:是否是隐藏文件
NSURLCreationDateKey:创建日期
options 的属性:
NSDirectoryEnumerationSkipsSubdirectoryDescendants: 浅层的枚举,不会枚举子目录
NSDirectoryEnumerationSkipsPackageDescendants: 不会扫描pakages的内容
NSDirectoryEnumerationSkipsHiddenFile: 不会扫描隐藏文件