[小贴士]利用NSFileManager获取文件(文件夹)列表

在开发iPhone程序时,有时候要对文件进行一些操作。而获取某一个目录中的所有文件列表,是基本操作之一。通过下面这段代码,就可以获取一个目录内的文件及文件夹列表。

NSFileManager  *fileManager  =  [ NSFileManager defaultManager ];
//在这里获取应用程序Documents文件夹里的文件及文件夹列表
         NSArray  *documentPaths  =NSSearchPathForDirectoriesInDomains (NSDocumentDirectory, NSUserDomainMask,  YES );
         NSString  *documentDir  =  [documentPaths objectAtIndex :0 ];
         NSError  *error  =  nil;
         NSArray  *fileList  =  [ [ NSArray alloc ] init ];
//fileList便是包含有该文件夹下所有文件的文件名及文件夹名的数组
        fileList  =  [fileManager contentsOfDirectoryAtPath :documentDir error :&error ];

以下这段代码则可以列出给定一个文件夹里的所有子文件夹名

NSMutableArray  *dirArray  =  [ [ NSMutableArray alloc ] init ];
         BOOL isDir  =  NO;
//在上面那段程序中获得的fileList中列出文件夹名
         for  ( NSString  *file  in fileList )  {
                 NSString  *path  =  [documentDir stringByAppendingPathComponent :file ];
                 [fileManager fileExistsAtPath :path isDirectory : ( &isDir ) ];
                 if  (isDir )  {
                         [dirArray addObject :file ];
                 }
                isDir  =  NO;
         }
        NSLog ( @ "Every Thing in the dir:%@",fileList );
        NSLog ( @ "All folders:%@",dirArray );

你可能感兴趣的:([小贴士]利用NSFileManager获取文件(文件夹)列表)