Java RandomAccessFile的内存使用情况

时间:2017-01-15 00:47:53

标签: java randomaccessfile

我试图从非常大(> 100 GB)的ascii编码文本文件中访问数据(只读)。该文件主要包含坐标(16位浮点数,包括小数点)和一些其他次要信息(名称等)。

因此,我考虑使用RandomAccessFile来避免将大量数据加载到内存中。 (例如,我可以将数据行缓存到内存中以加快速度,但让我们将其保存以供日后使用并假设时间不是问题,只要它不接近无穷大)。

问题:我可以假设搜索和读取方法不会导致RandomAccessFile将大量数据加载到内存中吗?

非常感谢。

1 个答案:

答案 0 :(得分:1)

你是对的。 RandomAccessFile基本上只是实际文件的包装器,除当前指针外没有太多内部状态。所有读/写方法都要求您为自己的数组提供应加载数据的数据。

此外,这个问题已经回答了 Java : Read last n lines of a HUGE file Does RandomAccessFile in java read entire file in memory?