我试图逐行读取文本文件,而该文本文件将是一个非常小的文件,因此我只使用了:

NSString *fileContents = [NSString stringWithContentsOfFile:filePath encoding:NSUTF8StringEncoding error:nil];


但是,在该行上引发了一个异常,说:

[NSURL getFileSystemRepresentation:maxLength:]: unrecognized selector sent to instance 0x7f92c40e1890


我真的是Objective-C的新手,我不知道为什么会这样...

提前致谢。



NSString *filePath;
NSOpenPanel *fileBrowser = [NSOpenPanel openPanel];
[fileBrowser setCanChooseFiles:YES];
[fileBrowser setCanChooseDirectories:YES];
if ([fileBrowser runModal] == NSOKButton) {
    NSArray *files = [fileBrowser URLs];
    for ( int i = 0; i < [files count]; i++ ) {
        filePath = [files objectAtIndex:i];
    }
}


这是因为[fileBrowser URLs]部分吗?
谢谢。

最佳答案

看起来filePathNSURL,但是stringWithContentsOfFile:encoding:error:期望路径是NSString

尝试这个:

NSString *fileContents = [NSString stringWithContentsOfURL:filePath encoding:NSUTF8StringEncoding error:nil];

关于objective-c - 文件读取过程中的Objective C异常?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10068544/

10-13 08:27