利用NSFileManager获取文件(文件夹)列表

转自:http://kevin-wu.net/?p=148

在开发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);

你可能感兴趣的:(manager)