Java 合并两个文件而不创建另一个文件

Java 合并两个文件而不创建另一个文件,java,file-io,Java,File Io,我的程序生成两个文件。第一个被生成的通常是巨大的,通常在20GB左右。之后的一个是“一行”文件。第二个文件的内容(一行)是第一个文件的标题。所以我的输出应该是一个结合了两者的文件。由于内存限制,我无法创建另一个文件来组合这两个文件。最好的方法是什么? < P>使用可用的……/P> < P>你不能只在文件的中间“插入”数据。使用RandomAccessFile将覆盖已写入文件特定位置的数据 因此,第一种解决方案是(如果可能的话)创建标头,然后附加20GB。如果不可能,但可以估计头的长度(以字节为单

我的程序生成两个文件。第一个被生成的通常是巨大的,通常在20GB左右。之后的一个是“一行”文件。第二个文件的内容(一行)是第一个文件的标题。所以我的输出应该是一个结合了两者的文件。由于内存限制,我无法创建另一个文件来组合这两个文件。最好的方法是什么?

< P>使用可用的……/P> < P>你不能只在文件的中间“插入”数据。使用RandomAccessFile将覆盖已写入文件特定位置的数据


因此,第一种解决方案是(如果可能的话)创建标头,然后附加20GB。如果不可能,但可以估计头的长度(以字节为单位),则可以将相同长度的垃圾写入文件开头,然后写入数据,然后转到文件开头并写入(覆盖)头

您是否提前知道头行的长度,即在写入大文件之前?您是否可以控制文件生成?@aix-否。但它始终是一行。然后,您可能可以在写入大文件之前留出一些空间(大小等于头文件)。然后使用RandomAccessFile将头数据写入大文件。