我有一个文件1,我想它的内容复制到另一个fil2e。之后,我添加了一些内容到file1。现在我想将file1中新添加的部分附加到file2中,以便两个文件保持同步。最初我想过逐字节地检查,但对于大文件来说效率非常低。复制的内容,而不复制现有内容
在此先感谢。
我有一个文件1,我想它的内容复制到另一个fil2e。之后,我添加了一些内容到file1。现在我想将file1中新添加的部分附加到file2中,以便两个文件保持同步。最初我想过逐字节地检查,但对于大文件来说效率非常低。复制的内容,而不复制现有内容
在此先感谢。
使用Apache常见的,你可以在这里下载文件实用程序:http://commons.apache.org/proper/commons-io/
它为您提供了几种方法来读取和写入到文件中,这应有助于实现你的目标。
您可以使用FileChannel.transferTo:使用您的文件
Path file1 = /* ... */ ;
Path file2 = /* ... */ ;
try (FileChannel channel1 = FileChannel.open(file1);
FileChannel channel2 = FileChannel.open(file2,
StandardOpenOption.WRITE, StandardOpenOption.APPEND)) {
channel1.transferTo(channel2.size(), Long.MAX_VALUE, channel2);
}
写详细的说明。你正在使用文本文件还是什么 –
确定文件2的长度,寻找文件1中的那个位置并从那里开始复制。 – djna
您可以读取文件1并将其另存为字符串,然后读取文件2并将其另存为字符串。现在您可以从file2.length开始将文件1的子字符串附加到文件1 – XtremeBaumer