2012-12-04 108 views
3

我的文档目录中有一些文件夹和子文件夹我如何获得目录和子目录中的文件而不是文件夹中的文件只是文件。获取文档目录中的项目数组iOS

这里是我的代码,到目前为止,它的工作,如果没有文件夹和子文件夹存在

//getting all the files on documents folder in an array. 
    NSError * error; 
    NSArray * directoryContents = [[NSFileManager defaultManager] contentsOfDirectoryAtPath:documentsDirectory error:&error]; 

回答

1
NSFileManager *fileManager = [NSFileManager defaultManager]; 
NSDirectoryEnumerator *enumerator = [fileManager enumeratorAtPath:documentsDirectory]; 
NSMutableArray *files = [NSMutableArray array]; 
BOOL isDirectory; 
NSString *path; 
while (path = [enumerator nextObject]) { 
    if ([fileManager fileExistsAtPath:path isDirectory:&isDirectory] && !isDirectory) { 
     [files addObject:path]; 
    } 
} 
+0

或改变条件:'[[enumerator fileAttributes] objectForKey:NSFileType] == NSFileTypeRegular' – Guillaume

3
+0

是的,我看到,我只想要文件,我正在寻找一个递归的方式做到这一点。 – zaabalonso

+0

如果你看第二链接:'for(item in contents){if {[item pathExtension] isEqualToString:extension] { [matches addObject:item]; } }''你总是可以得到所有文件的路径扩展..用这个你可以配置你的数组.. – DShah

相关问题