返回IOS应用程序中文件夹内的所有文件名

时间:2014-03-03 14:02:52

标签: ios nsfilemanager

如何读取目录中的所有文件列表或数组。此目录/文件夹位于我的IOS应用内 我检查下面的代码,但它返回null。

NSError *error;
NSFileManager *fileMgr = [NSFileManager defaultManager];
NSString *documentsDirectory = [NSHomeDirectory() stringByAppendingPathComponent:@"mag1"];

NSArray *myArray=[fileMgr contentsOfDirectoryAtPath:documentsDirectory error:&error];
NSLog(@"mag1 directory: %@",myArray);

这里mag1是我的目录,其中包含一些文件。这个mag1在我的app目录中。

3 个答案:

答案 0 :(得分:3)

使用[[NSBundle mainBundle] bundlePath]获取顶级应用包文件夹:

NSError *error;
NSFileManager *fileMgr = [NSFileManager defaultManager];
NSString *directory = [[[NSBundle mainBundle] bundlePath] stringByAppendingPathComponent:@"mag1"];

NSArray *files=[fileMgr contentsOfDirectoryAtPath:directory error:&error];
NSLog(@"mag1 directory: %@",files);

答案 1 :(得分:0)

检查以下代码:

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
documentsDirectory = [documentsDirectory stringByAppendingString:@"/<folder_name>"];
NSError *err = nil;
 NSFileManager *fileManager = [NSFileManager defaultManager];
NSLog(@"list %@",[fileManager contentsOfDirectoryAtPath:documentsDirectory error:&err]);

答案 2 :(得分:-1)

您好,你可以试试这个

NSMutableArray *arrayValue = [[NSMutableArray alloc]init];
NSFileManager *fManager = [NSFileManager defaultManager];
NSString *itemStr;
NSArray *array = [fManager contentsOfDirectoryAtPath:[NSHomeDirectory() stringByAppendingPathComponent:@"mag1"] error:nil];

// Add item to an array
for (itemStr in array){
    if ([[itemStr pathExtension] isEqualToString:extension]) {
        [arrayValue addObject:item];
    }
}


NSLog(@"Array value =%@",arrayValue);