我是mac和Cocoa的新手所以如果这是一个愚蠢的问题我很抱歉..
我需要阅读我在桌面上保存的文件中写的所有行。 文件格式为.txt;我尝试使用stringWithContentsOfFile,但程序冻结了。 我尝试使用GDB,我注意到,虽然路径正确,但应该包含数据的字符串返回nil。
我错过了重要的事情吗?
答案 0 :(得分:3)
您需要使用路径而不仅仅是文件名
NSString *string;
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
if ([paths count] != 0) {
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *newFile = [documentsDirectory stringByAppendingPathComponent:@"filename.txt"];
NSFileManager *fm = [NSFileManager defaultManager];
if ([fm fileExistsAtPath:newFile]) {
string = [NSString stringWithContentsOfFile:newFile];
}
}
如果您正在阅读,则需要替换捆绑目录的文档目录。