2016-12-07 6 views
0

Ich habe eine Datei1 und ich möchte den Inhalt auf ein anderes Fil2e kopieren. Danach habe ich etwas Inhalt zu Datei1 hinzugefügt. Jetzt möchte ich den neu hinzugefügten Teil in Datei1 an Datei2 anhängen, so dass die beiden Dateien synchron bleiben. Anfangs dachte ich daran, byteweise zu prüfen, aber das ist für große Dateien sehr ineffizient.Kopieren von Inhalt von einer Datei in eine andere Datei, ohne den vorhandenen Inhalt zu kopieren

Vielen Dank im Voraus.

+0

schreiben detaillierte Beschreibung Ihrer verwendeten Dateien. Verwenden Sie Textdateien oder was? –

+1

Bestimmen Sie die Länge von Datei2, suchen Sie an dieser Position in Datei1 und starten Sie den Kopiervorgang von dort. – djna

+0

können Sie Datei 1 lesen und als Zeichenfolge speichern, dann Datei 2 lesen und als Zeichenfolge speichern. Jetzt können Sie den Teilstring von Datei 1 beginnend mit file2.length nehmen und an Datei 1 anhängen – XtremeBaumer

Antwort

0

können Sie FileChannel.transferTo verwenden:

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