Hallo,
ich brauche ifür mein Sync-Programm eine Möglichkeit Dateien sehr schnell zu vergleichen. Ich benötige nur einen Wert true (gleich) oder false (ungleich). Ich habe schon den HashCode Vergleich eingebaut:
Das funktioniert auch alles super, aber mein Problem dabei ist, dass dieser Vorgang bei großen Dateien viel zu lange braucht und dazu die CPU auch noch stark auslastet.
Wie sieht es aus mit CRC oder anderen Vergleichsmöglichkeiten? Gibt es schnellere?
Oh ach ja, ich benutze VB 2005
Mfg Neo
ich brauche ifür mein Sync-Programm eine Möglichkeit Dateien sehr schnell zu vergleichen. Ich benötige nur einen Wert true (gleich) oder false (ungleich). Ich habe schon den HashCode Vergleich eingebaut:
Code:
Try
' Das Hashobjekt erstellen.
Dim Hash As System.Security.Cryptography.HashAlgorithm
Hash = System.Security.Cryptography.HashAlgorithm.Create()
' Das Hash für die erste Datei berechnen.
Dim fsA As New FileStream(HashSFile, FileMode.Open)
Dim HashA() As Byte = Hash.ComputeHash(fsA)
fsA.Close()
' Das Hash für die zweite Datei berechnen.
Dim fsB As New FileStream(HashTFile, FileMode.Open)
Dim HashB() As Byte = Hash.ComputeHash(fsB)
fsB.Close()
' Die Hashobjekte miteinander vergleichen.
...
Catch ex As Exception
...
End Try
Das funktioniert auch alles super, aber mein Problem dabei ist, dass dieser Vorgang bei großen Dateien viel zu lange braucht und dazu die CPU auch noch stark auslastet.
Wie sieht es aus mit CRC oder anderen Vergleichsmöglichkeiten? Gibt es schnellere?
Oh ach ja, ich benutze VB 2005
Mfg Neo
Zuletzt bearbeitet: