我有一個文件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