【发布时间】:2014-05-08 11:37:41
【问题描述】:
我有一个算法可以乱序计算向量的分量(字节)。我将向量存储在一个文件中,因为当我真正运行它时,向量将是数百万字节长。但作为一个简化的例子,我想从一个空文件开始:
-1 -1 -1 -1 -1 -1 -1 -1
那么我的算法会一次填写两个值:
-1 -1 4 7 -1 -1 -1 -1
然后
-1 -1 4 7 -1 -1 3 9
等等。直到所有的值都被填写。这可能吗?我尝试过使用随机访问文件,但是当您使用 seek() 方法时,它会在我要编辑的值之前为所有值填充 0,从而删除我的算法之前所做的任何计算。因为我需要这个程序来处理大量的数字序列,所以不能将整个文件拉入内存。有任何想法吗?
【问题讨论】:
-
看看这个:meta.stackexchange.com/questions/66377/what-is-the-xy-problem 然后,请更新您的问题! :)
-
是的,可以这样做。棘手,但可能。首先,您必须将文件作为 RandomAccessFile 打开。 RAF 将处理大部分“文书工作”,但您需要格外小心以符合规范对其操作的规定。
标签: java file large-files overwrite randomaccessfile