Java /写在第一行,由out.write

时间:2013-03-30 08:11:02

标签: java file

我试图找到一种在文件的第一行写入的方法。

问题是我写了大约3000行的文件(out.write),但是在写这篇文章的最后我有一个信息需要插入到这个文件的第一行。

有一种简单的方法可以做到吗?

2 个答案:

答案 0 :(得分:5)

  

有一种简单的方法可以做到吗?

不。这不是Java尴尬的问题 - 它只是文件系统,通常不允许您在文件中插入数据。

选项:

  • 在内存中生成文件(3000行不是很多),然后在知道第一行时将其全部写出来
  • 在没有第一行的情况下写出文件,然后通过写出第一行,然后逐行复制“旧”文件来启动 new 文件
  • 如果您在开始之前知道第一行的长度(以字节为单位),您可以留出足够的空间,写出文件的长度,然后覆盖第一行

答案 1 :(得分:0)

您可以使用两个流,一个用于当前流,一个用于最终流。 写入结束时,首先写入信息,然后将当前流写入最终流。

OutputStream finalOs;
OutputStream dataOs;
//...write your data
finalOs.write(your information);
finalOs.write(dataOs);// just 4 example