我的捆绑包中有大量文本资源。这是CSV,其中包含以下行
0,1,100,2.2345
超过9MB。打开并按顺序阅读它的最佳方法是什么,所以我可以执行以下操作:
myObject->initData(col0, col1, col2, col3);
(这只是将float值填充到由文件中的整数索引的多个多维数组之一中。)
我尝试使用
[NSString stringWithContentsOfFile:]
将其读取为字符串,并使用NSScanner
对其进行循环,但我不想使内存使用量翻一番,即使是暂时的。也很慢。最好的方法是什么?
谢谢
最佳答案
您可以使用NSFileHandle
或C API进行增量读取,也可以将mmap与NSData
一起使用。
其余的是基本的cstring缓冲区处理,或者您可以逐行使用NSString
。
如果可以将其导出为二进制浮点序列而不是CSV,则可能会更轻松。