获取目录中的文件计数

时间:2010-02-17 09:39:01

标签: objective-c ios cocoa nsfilemanager

如何计算目录中的文件?我在NSFileManager的课程参考中找不到任何相关内容。

3 个答案:

答案 0 :(得分:14)

contentsOfDirectoryAtPath:error:会返回NSArray。只需将count发送到数组即可。

答案 1 :(得分:3)

contentsOfDirectoryAtPath:error:会在目录(文件+文件夹)中返回{strong>所有的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];

答案 2 :(得分:0)

subpathsOfDirectoryAtPath:error:返回一个数组,其中包含目标目录的所有路径,包括子目录。

但是正如文档所说,“你可能不想在性能关键代码中使用它。”