[英]Read a directory structure in iOS
我正在尝试读取iPhone应用程序的资源文件夹中的目录。
NSString *path= [[NSBundle mainBundle] pathForResource:@"Capitalization" ofType:@"html" inDirectory:@"MyDirectory"];
NSLog(@"Path : %@",path);
BOOL fileExists = [[NSFileManager defaultManager] fileExistsAtPath:path];
if(fileExists){
NSString* content = [NSString stringWithContentsOfFile:path
encoding:NSUTF8StringEncoding
error:NULL];
NSLog(@"Data from plist %@",content);
}else {
NSLog(@"File Not Found");
//exit(1); // if file not found exit the application.
}
但是每次我得到NULL。 请帮忙。 我的目录也可以包含另一个目录,在这种情况下,我还必须获取目录名称。
您将要使用:
NSArray *fileList = [[NSFileManager defaultManager] contentsOfDirectoryAtPath:somePathString error:nil];
这将为您提供所选目录内的文件夹和文件的列表。 如果要搜索子文件夹,则必须创建一个运行此代码的函数并递归调用该函数。
在您的代码中,您正在调用:
NSString *path= [[NSBundle mainBundle] pathForResource:@"Capitalization" ofType:@"html" inDirectory:@"MyDirectory"];
那就是在文件夹(BundlePath)/MyDirectory/
查找任何名为Capitalization.html
东西,以及其中的任何子文件夹。 确保正确使用了该路径,这是您要搜索的实际路径。 如果将Capitalization.html
作为资源添加到捆绑软件中,则将永远不会找到它,因为捆绑软件中的所有内容都在单个级别中(捆绑软件“文件夹”中存在的所有内容)。 如果您的Capitalization.html
位于名为MyDirectory
的文件夹中,并且已通过引用该项目添加到该文件夹中,则说明您进行了正确的搜索,它应该可以工作。
长话短说。 添加为资源的文件将始终在捆绑目录中找到。 作为参考添加的文件(和文件夹)将保持其文件夹结构,您可以正确搜索这些文件夹。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.