NSString的initWithContentsOfFile无法加载任何大于40kb的文件,为什么以及解决方案是什么?

时间:2012-04-22 20:36:33

标签: objective-c ios nsstring initwithcontentsoffile

我想将文件加载到NSString变量中,并使用NSString的initWithContentsOfFile来执行此操作。但是,任何大于40kb的文件都会失败,并且nil会返回到我的变量。这是我正在使用的代码:

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

我猜它因内存不足而失败,但肯定可以处理小到40kb的文件?!

1 个答案:

答案 0 :(得分:1)

在打印错误并发现我收到Cocoa错误代码261之后,我很快就能通过快速Google发现我的问题是NSStringEncoding参数导致了问题。我从NSUTF8StringEncoding更改为NSASCIIStringEncoding,我的问题已修复。