Java:有选择地将多个数组读写到一个文件中



我知道这个问题以前在这里被问过并回答过,但我的问题是一个特殊情况,我还没有找到答案。

我有100000到一百万个int类型的数组,"固定"长度为32^3,我需要将这些数组存储在一个文件中,而无需对它们进行迭代。我知道使用ObjectOutputStream是可能的,我甚至找到了如何将多个对象写入一个文件并读回(这听起来可能解决了我的问题),但不,它没有。

我的实际问题是,我需要向该文件添加/更新单个数组,并读取单个数组。整个数组可能在一秒钟内最多有10个数组被修改,所以我需要将更改写入该文件,而无需重写整个文件,因为这是一种缓慢而低效的方式。

因此,我的问题是:是否可以将固定长度的int数组保存到包含多个相同长度int数组的文件中?并从该文件中读取特定的int阵列?而不必在读取或写入时遍历每个数组?

您可以使用RandomAccessFile

如果您的数组是固定长度的,那么您可以将RandomAccessFile视为大型数组,并将位置计算为index_of_array_you_need*array_size+index_of_the_element_in_array

您的数组大小将为32768*4字节,因此如果您需要更新第三个数组中位置100处的数字,则应通过地址2*32768*4+100*4 从RandomAccessFile获取4个字节

相关内容

  • 没有找到相关文章

最新更新