在iOS上的大型文本资源中读取数组

时间:2012-02-24 03:15:04

标签: ios

我的捆绑包中有大量文本资源。这是一个包含

等行的CSV
0,1,100,2.2345

超过9MB。打开并顺序读取它的最佳方法是什么,所以我可以做类似的事情:

myObject->initData(col0, col1, col2, col3);

(这只是将浮点值填充到文件中整数索引的多个多维数组之一。)

我尝试使用[NSString stringWithContentsOfFile:]将其读入字符串并使用NSScanner循环播放,但我不想将内存使用量加倍,即使是暂时的。这也很慢。

最好的方法是什么?

由于

1 个答案:

答案 0 :(得分:3)

您可以使用NSFileHandle或C API逐步阅读,也可以将mmap与NSData一起使用。

其余部分是基本的cstring缓冲区处理,或者你可以逐行使用NSString

如果您可以将其导出为一系列二进制浮点数而不是CSV,那么您的生活可能会更容易。