从文件中读取数据

时间:2009-09-23 13:07:09

标签: objective-c file cocoa

我是mac和Cocoa的新手所以如果这是一个愚蠢的问题我很抱歉..

我需要阅读我在桌面上保存的文件中写的所有行。 文件格式为.txt;我尝试使用stringWithContentsOfFile,但程序冻结了。 我尝试使用GDB,我注意到,虽然路径正确,但应该包含数据的字符串返回nil。

我错过了重要的事情吗?

1 个答案:

答案 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];
    }
}

如果您正在阅读,则需要替换捆绑目录的文档目录。

修改

我跳了枪。这似乎不是iPhone的问题。尽管如此,你需要传递完整的路径,而不仅仅是文件名