这可能是一个非常容易解决的问题,但我没有成功。我已将文件“questions_famquiz_easy_110326.txt”复制到资源文件夹,现在想要访问(读取)它并 NSLog 以查看我能够读取它。
下面的代码来自我根据在网上找到的示例所做的测试之一。
我正在尝试访问 Resources 文件夹中的 txt 文件,但没有这样做。我已经搜索了一个解决方案,测试了很多,但没有成功。
我正在使用以下代码进行测试:
NSLog(@"\n \n >>>>>>viewDidLoad<<<<<<<<<");
NSError *error;
NSFileManager *fileManager = [NSFileManager defaultManager];
NSString *docsDirectory = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0];
NSString *filePath = [docsDirectory stringByAppendingPathComponent:@"questions_famquiz_easy_110326.txt"];
if(![fileManager fileExistsAtPath:filePath])
{
NSData *data = [NSData dataWithContentsOfFile:[[[NSBundle mainBundle] resourcePath] stringByAppendingString:@"/questions_famquiz_easy_110326.txt"]];
[data writeToFile:filePath atomically:YES];
}
NSString *myString = [NSString stringWithContentsOfFile:filePath encoding:NSUTF8StringEncoding error:&error];
NSLog(@"myString: %@", myString);
NSLog(@"\n \n>>>>>>DONE WITH viewDidLoad<<<<<<<<<");
exit(0); //====EXIT JUST FOR THE TEST====<<<
上面的代码位于启动的第一个 viewController 中。
我得到的输出是:
>>>>>>viewDidLoad<<<<<<<<<
2011-04-24 21:53:47.825 FamQuiz_R0_1[542:307] myString: (null)
2011-04-24 21:53:51.044 FamQuiz_R0_1[542:307]
>>>>>>DONE WITH viewDidLoad<<<<<<<<<
有人可以帮我解决这个问题吗?
更新:
这是文件路径:
2011-04-24 22:38:08.562 FamQuiz_R0_1[637:307] filePath: /var/mobile/Applications/7F5FDB03-0D22-46BC-91BC-4D268EB4BBEB/FamQuiz_R0_1.app/questions_famquiz_easy_110326.txt
这是我放置文件的位置:
问题解决了:
NSString *myString = [NSString stringWithContentsOfFile:filePath encoding:NSUTF8StringEncoding error:&error];
当我使用上面它不起作用时,当我使用下面它工作并打印出文本时。
NSString *myString = [[NSString alloc] initWithContentsOfFile:filePath];