我有一个格式如下的文件:

1 4298 3598 39980 58903
39 3598 395 395 3598 3598


因此,每行上只有一堆数字(32位有符号int范围内的最大数字)。

我当前的代码每次必须解析一次,首先将行拆分为字符串数组,然后将每个字符串转换为int。有没有一种更快的方法来通过序列化或其他方法来解决此问题,因为我不得不多次遍历同一文件很多次。换句话说,我很高兴对该文件进行预处理。

最佳答案

为什么不使用二进制格式的文件?如果仅尝试获取数值,则完全不需要String转换。一次读入四个字节,并通过按位运算使用它们创建一个整数。序列化是一种默认机制,旨在为程序员提供一种存储对象的简便方法,但是精心设计的文件格式将可以更轻松快捷地进行解析。

09-26 17:55