我想阅读一个文本文件并对该数据执行一些操作。
文件大小为67 mb
我怎么读。
文件采用文本格式。
它在simulateor中工作,但在设备和崩溃中给出了内存警告。
代码是
NSString *content = [[[NSString alloc] initWithContentsOfFile:fileName usedEncoding:nil error:nil] autorelease];
当这句话完成时,崩溃了。
谢谢,
Shyam parmar
答案 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];