objective-c目录递归

在objective-c中,有两种方法可以得到目录中的内容,包括文件和子目录:1,directoryContentsAtPath ;2,enumeratorAtPath 

区别是,第2种会递归访问所有子目录的文件,得到所有文件的列表

示例代码:

 1 -(NSMutableArray*)getAllFiles:(NSString *)root
 2 {
 3     NSFileManager* fm ;
 4     NSDirectoryEnumerator *dirEnumerator ;
 5     NSMutableArray *dirArray = [[NSMutableArray alloc]init] ;
 6     
 7     fm = [NSFileManager defaultManager];
 8     
 9     dirEnumerator = [fm enumeratorAtPath:root];
10     NSString* file = [[NSString alloc]init];
11     while( ( file = [dirEnumerator nextObject] ) != nil )
12           [dirArray addObject:file];
13     
14     return dirArray;
15     
16 }
17 
18 -(NSArray*)getFiles:(NSString *)dir
19 {
20     NSFileManager* fm = [NSFileManager defaultManager];
21     NSArray* array = [fm directoryContentsAtPath:dir ];
22     
23     return array ; 
24 }

 

posted @ 2013-02-27 17:14  ifeixiang  阅读(629)  评论(0编辑  收藏  举报