Feedback

C# - Dateien vergleichen

Veröffentlicht von am 23.10.2006
(8 Bewertungen)
Zwei Dateien inhaltlich vergleichen
GFU-Schulungen  [Anzeige]

C# Grundlagen

Die Schulung vermittelt Ihnen die Grundlagen von C# in der Arbeit mit Datentypen sowie bei Klassenbibliotheken. Sie lernen, mit Variablen umzugehen und deren verschiedene Formen zu konvertieren. 

Visual Studio Team Foundation Server 2017/2015 (TFS) für Projektmitglieder - Kompakt

Nach Teilnahme an dieser Schulung sind Ihnen die Grundlagen von ALM geläufig. Sie planen und steuern Projekte effizient mit dem Visual Studio Team Foundation Server.

private bool FileCompare(string file1, string file2)
{
    int file1byte;
    int file2byte;
    FileStream fs1;
    FileStream fs2;
 
    if (file1 == file2)
    {
          return true;
    }
 
    fs1 = new FileStream(file1, FileMode.Open);
    fs2 = new FileStream(file2, FileMode.Open);
 
    if (fs1.Length != fs2.Length)
    {
          fs1.Close();
          fs2.Close();
 
          return false;
    }
 
    do 
    {
          file1byte = fs1.ReadByte();
          file2byte = fs2.ReadByte();
    }
    while ((file1byte == file2byte) && (file1byte != -1));
 
    fs1.Close();
    fs2.Close();
 
    return ((file1byte - file2byte) == 0);
}


Abgelegt unter Dateien, vergleichen, FileCompare.

3 Kommentare zum Snippet

Tim Hartwig schrieb am 23.10.2006:
Da kann man aber besser Hashwerte vergleichen lassen. Ist evtl. auch viel schneller
lypô schrieb am 07.07.2013:
Für einfache Zwecke hätte ich's eher einfach gehalten.
So im Prinzip:
if (File1.Contain(File2) && File2.Conatin(File1))...

Ich mach noch nicht lange mit C#, hat bei mir aber funktioniert.
Koopakiller schrieb am 07.07.2013:
Man sollte auch beachten, das die Streams nicht geschlossen werden, wenn die Leseberechtigung für eine der beiden Dateien fehlt. Also ein Try-Catch-Finally-Block oder einfach einen using-Block verwenden.
 

Logge dich ein, um hier zu kommentieren!