Was ist der effizienteste (schnellste) Weg, zwei große (über 1,5 GB) Dateien in Java zu verketten?

8

Ich habe die Techniken hier verwendet und zwei 1,5 GB-Dateien in 70 Sekunden verkettet.

Ссылка

Mein Code beinhaltete die Verwendung von FileChannels mit Speicherzuordnung und ByteBuffers mit einer Puffergröße von 8 KB.

Wie könnte ich diese Geschwindigkeit verbessern?

%Vor%     
Danny Rancher 03.01.2014, 05:55
quelle

1 Antwort

6

probiere das

aus %Vor%

javadoc sagt, dass FileChannel.transferFrom potenziell viel effizienter ist als eine einfache Schleife, die von diesem Kanal liest und in den Zielkanal schreibt. Viele Betriebssysteme können Bytes direkt vom Dateisystem-Cache auf den Zielkanal übertragen, ohne sie tatsächlich zu kopieren.

    
Evgeniy Dorofeev 03.01.2014 06:02
quelle

Tags und Links