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

时间:2012-02-23 15:48:16

标签: java file-io

我的程序会生成两个文件。生成的第一个通常很大,通常大约20GB。之后的那个是“一行”文件。第二个文件的内容(一行)是第一个文件的标题。所以我的输出应该是一个将两者结合起来的文件。在内存约束上,我无法创建另一个文件来组合这两个。什么是最好的方法来解决这个问题?

2 个答案:

答案 0 :(得分:1)

您不能只在文件中间“插入”数据。使用RandomAccessFile将覆盖已写入文件特定位置的数据。

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

答案 1 :(得分:0)

使用可用的Random Access File ...