我的捆绑包中有大量文本资源。这是一个包含
等行的CSV0,1,100,2.2345
超过9MB。打开并顺序读取它的最佳方法是什么,所以我可以做类似的事情:
myObject->initData(col0, col1, col2, col3);
(这只是将浮点值填充到文件中整数索引的多个多维数组之一。)
我尝试使用[NSString stringWithContentsOfFile:]
将其读入字符串并使用NSScanner
循环播放,但我不想将内存使用量加倍,即使是暂时的。这也很慢。
最好的方法是什么?
由于
答案 0 :(得分:3)
您可以使用NSFileHandle
或C API逐步阅读,也可以将mmap与NSData
一起使用。
其余部分是基本的cstring缓冲区处理,或者你可以逐行使用NSString
。
如果您可以将其导出为一系列二进制浮点数而不是CSV,那么您的生活可能会更容易。