将内容从一个文件复制到另一个文件,而不复制现有内容

时间:2016-12-07 09:43:25

标签: java file-io

我有一个file1,我想将其内容复制到另一个fil2e。之后我向file1添加了一些内容。现在我想将file1中新添加的部分附加到file2,以便两个文件保持同步。最初我想到逐字节检查,但对于大文件来说这是非常低效的。

提前致谢。

2 个答案:

答案 0 :(得分:1)

使用Apache Common的FileUtils,您可以在此处下载:http://commons.apache.org/proper/commons-io/

它为您提供了几种读取和写入文件的方法,这些方法有助于实现您的目标。

答案 1 :(得分:0)

您可以使用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);
}