Hi
Hab ein kleines abgespektes Programm, welches eigentlich nur das prinzip zeigen soll, welches ich da nutze; so siehts aus :
//IMPORTS
//METHODE
Es liefert die Checksumme der Datei.
Also ich hab WinXP laufen auf n Core2Duo mit 3,16 Ghz
Das berechnen der Checksumme für:
100MB-Files dauert 1 Sekunde --> Kein Problem
3GB-Files dauer 40 Sekunden ---> Das ist ein Problem
Hab rausgefunden das :
das hier praktisch "NICHTS" an Zeit braucht ... max ein paar MilliSecs
und das hier:
die 40 Sekunden.
nun die FRAGE:
Kann ich das irgebndwie zeitlich abkürzen=
ZB mit nem RandomAccessFile oder ApacheCommonsIO oder was Andres ... oder das ich den STream vorher nicht durchrödeln muss oder es gibt n ganz anderen Ansatz.
Danke Jungs und Mädels für Eure potentielle GehirnSchmalzEnergieVerbrauchsAktion ;-)
Hab ein kleines abgespektes Programm, welches eigentlich nur das prinzip zeigen soll, welches ich da nutze; so siehts aus :
//IMPORTS
Java:
import java.io.BufferedInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.util.Properties;
import java.util.zip.CRC32;
import java.util.zip.CheckedInputStream;
//METHODE
Java:
public static long getChecksum(File thefile) throws Exception {
FileInputStream myFIS = new FileInputStream(thefile);
CheckedInputStream myCIS = new CheckedInputStream(myFIS, new CRC32());
BufferedInputStream myBIS = new BufferedInputStream(myCIS);
//Schleife
while (myBIS.read() != -1) {
} // end while
//Checksumme holen
return myCIS.getChecksum().getValue();
} // end getChecksum()
Es liefert die Checksumme der Datei.
Also ich hab WinXP laufen auf n Core2Duo mit 3,16 Ghz
Das berechnen der Checksumme für:
100MB-Files dauert 1 Sekunde --> Kein Problem
3GB-Files dauer 40 Sekunden ---> Das ist ein Problem
Hab rausgefunden das :
Java:
//Checksumme holen
return myCIS.getChecksum().getValue();
und das hier:
Java:
//Schleife
while (myBIS.read() != -1) {
} // end while
nun die FRAGE:
Kann ich das irgebndwie zeitlich abkürzen=
ZB mit nem RandomAccessFile oder ApacheCommonsIO oder was Andres ... oder das ich den STream vorher nicht durchrödeln muss oder es gibt n ganz anderen Ansatz.
Danke Jungs und Mädels für Eure potentielle GehirnSchmalzEnergieVerbrauchsAktion ;-)