获取目录IOS中的文件数

时间:2013-09-08 22:19:53

标签: ios objective-c cocoa-touch

如何获取整个IOS目录中扩展名为.png,.ext,.annotate ...的文件数量?我试过这个:

NSFileManager * filemgr = [NSFileManager defaultManager];
NSArray * filelist = [filemgr directoryContentsAtPath:yourPath error:nil];
int count = [filelist count];
NSLog("%d", count);

但是它给出了总计数,而不仅仅是具有扩展名

的文件之一

1 个答案:

答案 0 :(得分:0)

您可以使用NSPredicate来管理包含filteredArrayUsingPredicate:

的数组
NSArray *extensions = @[@"png", @"ext", @"annotate"];
filelist = [filelist filteredArrayUsingPredicate:[NSPredicate predicateWithFormat:@"pathExtension IN %@", extensions]];

您的问题不清楚您是否希望一次性(上面的代码)或每个扩展的所有指定扩展的合并计数。那可能是

NSArray *extensions = @[@"png", @"ext", @"annotate"];
for(NSString *ext in extensions) {
    filelist = [filelist filteredArrayUsingPredicate:[NSPredicate predicateWithFormat:@"pathExtension LIKE %@", ext]];
    NSLog(@"%d", [filelist count])
}