长文件阅读

时间:2011-03-18 13:00:36

标签: iphone objective-c xcode ipad nsfilemanager

我想阅读一个文本文件并对该数据执行一些操作。

文件大小为67 mb

我怎么读。

文件采用文本格式。

它在simulateor中工作,但在设备和崩溃中给出了内存警告。

代码是

NSString *content = [[[NSString alloc] initWithContentsOfFile:fileName usedEncoding:nil error:nil] autorelease];
当这句话完成时,

崩溃了。

谢谢,

Shyam parmar

3 个答案:

答案 0 :(得分:3)

您还没有给出代码,但如果您使用stringWithContentsOfFile来获取整个文件,请考虑使用NSInputStream或stdio来读取它并以递增方式处理或显示它。

答案 1 :(得分:2)

Fasttracks,试试Peter建议的内容。问题是一次加载它,因为你有大约20 MB可用于你自己的应用程序,我相信。如果您使用NSInputStream,则可以将其加载成碎片,因此您不会立即填充整个内存。另请阅读另一个问题的答案:Objective-C: Reading a file line by line

答案 2 :(得分:1)

您是否开始从- (void) viewDidLoad阅读文件?这可能是问题所在。尝试开始在不同的主题中阅读它,例如:[self performSelectorInBackground:@selector(method) withObject:nil];