在数据中间插入数据

时间:2015-02-12 07:00:14

标签: java file-io nio

我有一个非常大的文件需要编辑。我需要在文件中的任何位置插入数据。它使用的是Java NIO。我找到了两个选项,

  1. 将整个文件保留在内存中并在那里插入数据。并在最后冲洗。

    • 这在我的情况下是不可能的,因为文件大小非常大(可能是GB)
  2. 假设我需要在position = n处插入并且文件大小= L.然后首先我需要复制现有数据(L-n),然后插入我的内容,然后回写复制的文本

    • 这也是不可能的,因为这会增加色调文件的I / O
  3. FileChannel可以在中间真正附加数据并在内部自动移位连续字节吗? (我不这么认为)

    但是,您是否有任何关于实际问题的意见?任何类型的选项都很好,但最好是用Java。

0 个答案:

没有答案