2013-05-03 52 views
0

我正在尝试从Obj中的文本文件中读取信息。 C程序和每当我尝试NSLog输出,我越来越(空)。我确定我正在使用的文本文件位于我的“复制包资源”中,这是我发现的所有其他答案都提示的。我使用以下访问文件:Obj C读取文件,未找到txt文件

NSString *rightsPath = [[NSBundle mainBundle] pathForResource:@"Sample Maze Rights" ofType:@"txt"]; 
NSString *rightsContent = [NSString stringWithContentsOfFile:rightsPath encoding:NSUTF8StringEncoding error:NULL]; 

任何人都可以做任何建议吗?

+0

你确定它是'.txt'吗? – Ankur 2013-05-03 14:36:40

+1

使用'error'参数并记录错误。 – rmaddy 2013-05-03 14:47:39

回答

1

这就是error的论点。

NSError *error = nil; 
NSString *rightsContent = [NSString stringWithContentsOfFile:rightsPath 
                encoding:NSUTF8StringEncoding 
                 error:&error]; 
if (rightsContent == nil) 
    NSLog(@"error: %@", [error description]); 
+0

非常好。此代码修复了这个问题,但错误显示以下异常:错误域= NSCocoaErrorDomain代码= 258“操作无法完成。(Cocoa错误258.)”UserInfo = 0x6870930 {}。由于我已经将该文件添加到我的Copy Bundle Resources中,您是否可以想到其他任何可能导致此问题的内容?谢谢!! – 2013-05-06 18:41:04

+0

错误代码是你第一个谷歌,然后问。 http://petosoft.wordpress.com/2011/11/15/cocoa-error-258-when-using-stringwithcontentsoffile/你确定路径不是零? – 2013-05-06 18:42:51

+0

如果你的路径看起来不错,试试NSLog'ging它,然后在Terminal.app中运行这个命令:'ls -l“”'(没有尖括号)。这会告诉你文件是否真的存在以及它有什么权限。 '-r --------'就够了,'-rw -------'也可以。 – 2013-05-06 18:52:30