【发布时间】:2011-01-17 18:49:49
【问题描述】:
如何计算目录中的文件数?我在 NSFileManager 的类引用中找不到任何相关内容。
【问题讨论】:
标签: objective-c ios cocoa nsfilemanager
如何计算目录中的文件数?我在 NSFileManager 的类引用中找不到任何相关内容。
【问题讨论】:
标签: objective-c ios cocoa nsfilemanager
contentsOfDirectoryAtPath:error: 返回一个NSArray。只需将count 发送到数组即可。
【讨论】:
contentsOfDirectoryAtPath:error: 返回目录(文件 + 文件夹)中所有内容的NSArray。
要仅获取文件计数,您可以按如下方式过滤:
NSMutableArray *files = [[NSMutableArray alloc] init];
NSArray *itemsInFolder = [[NSFileManager defaultManager] contentsOfDirectoryAtPath:folderpath error:NULL];
NSString *itemPath;
BOOL isDirectory;
for (NSString *item in itemsInFolder){
itemPath = [NSString stringWithFormat:@"%@/%@", folderpath, item];
[[NSFileManager defaultManager] fileExistsAtPath:item isDirectory:&isDirectory];
if (!isDirectory) {
[files addObject:item];
}
}
return [files count];
【讨论】:
subpathsOfDirectoryAtPath:error:返回一个数组,目标目录的所有路径都包含子目录。
但正如文档所说,“您可能不想在性能关键代码中使用它。”
【讨论】: