2016-12-07 98 views
0

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

在此先感谢。

+0

写详细的说明。你正在使用文本文件还是什么 –

+1

确定文件2的长度,寻找文件1中的那个位置并从那里开始复制。 – djna

+0

您可以读取文件1并将其另存为字符串,然后读取文件2并将其另存为字符串。现在您可以从file2.length开始将文件1的子字符串附加到文件1 – XtremeBaumer

回答

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); 
}