在我的项目中,我有一个名为GAME.js的纯文本文件,我正在尝试获取该文件的内容。
[NSString stringWithContentsOfFile:@"GAME.js" encoding:NSUTF8StringEncoding error:nil];
听起来应该可以工作,但它只是返回一个空字符串。
请帮我解决这个问题。
答案 0 :(得分:8)
将GAME.js
放入Xcode项目的Resources
文件夹中,并使用以下代码获取文件内容。
NSError *error = nil;
NSString* path = [[NSBundle mainBundle] pathForResource:@"GAME" ofType:@"js"];
NSString* gameFileContents = [NSString stringWithContentsOfFile:path encoding:NSUTF8StringEncoding error:&error];
答案 1 :(得分:2)
如果你传入NSError
,它会告诉你究竟是什么问题:
NSError *error = nil;
NSString *myString = [NSString stringWithContentsOfFile:@"GAME.js" encoding:NSUTF8StringEncoding error:&error];
if (error) {
NSLog(@"%@", [error localizedDescription]);
} else {
NSLog(@"%@", myString);
}
另外,检查它是否在您的文档目录中,可以使用NSSearchPathForDirectoriesInDomains
访问:
NSError *error = nil;
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *fullPath = [[paths objectAtIndex:0] stringByAppendingPathComponent:@"GAME.js"];
NSString *myString = [NSString stringWithContentsOfFile:fullPath encoding:NSUTF8StringEncoding error:&error];
if (error) {
NSLog(@"%@ - %@", [error localizedDescription], [error localizedFailureReason]);
} else {
NSLog(@"%@", myString);
}