如何获取iPhone资源文件夹中的文件夹和文件列表?

时间:2011-12-08 11:57:31

标签: iphone objective-c ios ipad

我正在资源文件夹中进行文件夹结构,例如... Resource => MyData => S1 然后在S1 => Name.png,data.ppt

现在我想获取所有文件夹列表和文件名。这里MyData名称只是静态其他可能会改变。就像我可以添加S1,S2,S3和那里的文件数量。那么如何通过Objective C阅读这些内容呢?我试过下面的代码。

NSString *bundlePathName = [[NSBundle mainBundle] bundlePath];
    NSString *dataPathName = [bundlePathName stringByAppendingPathComponent:@"Resources"];
    NSFileManager *fileManager = [NSFileManager defaultManager];
    if ([fileManager fileExistsAtPath:dataPathName]) {
        NSLog(@"%@ exists", dataPathName);
        BOOL isDir = NO;
        [fileManager fileExistsAtPath:dataPathName isDirectory:(&isDir)];
        if (isDir == YES) {
            NSLog(@"%@ is a directory", dataPathName);
            NSArray *contents;
            contents = [fileManager contentsOfDirectoryAtPath:dataPathName error:nil];
            for (NSString *entity in contents) {
                NSLog(@"%@ is within", entity);
            }
        } else {
            NSLog(@"%@ is not a directory", dataPathName);
        }
    } else {
        NSLog(@"%@ does not exist", dataPathName);
    }

谢谢,

1 个答案:

答案 0 :(得分:12)

您可以像这样获取Resources目录的路径,

NSString * resourcePath = [[NSBundle mainBundle] resourcePath];

然后将Documents附加到路径

NSString * documentsPath = [resourcePath stringByAppendingPathComponent:@"Documents"];

然后,您可以使用NSFileManager

的任何目录列表API
NSError * error;
NSArray * directoryContents = [[NSFileManager defaultManager] contentsOfDirectoryAtPath:documentsPath error:&error];