Ich stieß auf diesen Code http://support.microsoft.com/kb/320348, der mich fragte, was der beste Weg wäre, 2 Dateien zu vergleichen, um herauszufinden, ob sie sich unterscheiden.Dateien byteweise vergleichen oder alle Bytes lesen?
Die Hauptidee besteht darin, mein Programm zu optimieren, das überprüfen muss, ob eine Datei gleich ist oder nicht, um eine Liste geänderter Dateien und/oder Dateien zum Löschen/Erstellen zu erstellen.
Derzeit vergleiche ich die Größe der Dateien, wenn sie übereinstimmen, werde ich in eine MD5-Prüfsumme der 2 Dateien gehen, aber nach dem Blick auf den Code zu Beginn dieser Frage fragte mich, ob es wirklich wert ist um es zu verwenden, um eine Prüfsumme der 2 Dateien zu erstellen (was ist im Grunde, nachdem Sie alle Bytes erhalten)?
Auch was andere Überprüfungen sollte ich machen, um die Arbeit in der Kontrolle jeder Datei zu reduzieren?
Ich denke, das hängt stark davon ab, was du mit gleich meinst. Möchten Sie die Gleichheit des Textes in der Datei oder die tatsächlichen Bytes testen? Was ist der Inhalt der Datei? Sind Leerzeichen wichtig (Textgleichheit)? Die MD5-Prüfsumme würde einen Unterschied zwischen 2 Leerzeichen und 1 Leerzeichen am Ende einer Zeile finden, wo ein einfacher Textvergleich möglicherweise nicht möglich ist. – linuxuser27
MD5 erfordert, dass beide Dateien vollständig gelesen werden und dann der Hash-Vorgang ausgeführt wird, was bei großen Dateien zeitaufwendig sein kann. – Aliostad
Deshalb habe ich mich über die Frage gewundert, und Aliostad und Anon haben die Punkte gemacht, die ich wissen wollte. – Prix