Jak vytvořit soubor porovnat funkci v jazyce Visual C#

Překlady článku Překlady článku
ID článku: 320348 - Produkty, které se vztahují k tomuto článku.
Rozbalit všechny záložky | Minimalizovat všechny záložky

Na této stránce

Souhrn

Tento článek ukazuje, jak porovnat dva soubory zobrazit, pokud jejich obsah je stejný. Toto srovnání Porovná obsah dvou souborů, nikoli na názvy souborů, umístění, data, časy nebo jiné atributy.

Tato funkce je podobná Fc.exe nástroje založené na systému MS-DOS, který je součástí různých verzí systému Microsoft Windows a Microsoft MS-DOS a některé nástroje pro vývoj softwaru.

Ukázkový kód, který je popsán v tomto článku provádí porovnání bajt po bajtu, až najde nějakou nesrovnalost nebo je dosaženo konce souboru. Kód také provádí dvě jednoduché kontroly, zvýšení účinnosti porovnání:
  • Pokud oba odkazy bod souboru do stejného souboru, musí být rovna dvěma soubory.
  • Pokud velikost dvou souborů není stejná, dva soubory nejsou stejné.

Vytvořit vzorek

  1. Vytvořte nový projekt aplikace Visual C# Windows aplikace. Ve výchozím nastavení je vytvořen formulář Form1.
  2. Přidáte dva ovládací prvky textové pole do formuláře.
  3. Přidáte příkazové tlačítko do formuláře.
  4. V Zobrazení nabídky, klepněte na tlačítko Kód.
  5. Přidejte následující POUŽITÍ prohlášení, Formulář1 Třída:
    using System.IO;
    					
  6. Přidat metodu Formulář1 Třída:
    // This method accepts two strings the represent two files to 
    // compare. A return value of 0 indicates that the contents of the files
    // are the same. A return value of any other value indicates that the 
    // files are not the same.
    private bool FileCompare(string file1, string file2)
    {
         int file1byte;
         int file2byte;
         FileStream fs1;
         FileStream fs2;
    
         // Determine if the same file was referenced two times.
         if (file1 == file2)
         {
              // Return true to indicate that the files are the same.
              return true;
         }
                   
         // Open the two files.
         fs1 = new FileStream(file1, FileMode.Open);
         fs2 = new FileStream(file2, FileMode.Open);
              
         // Check the file sizes. If they are not the same, the files 
            // are not the same.
         if (fs1.Length != fs2.Length)
         {
              // Close the file
              fs1.Close();
              fs2.Close();
    
              // Return false to indicate files are different
              return false;
         }
    
         // Read and compare a byte from each file until either a
         // non-matching set of bytes is found or until the end of
         // file1 is reached.
         do 
         {
              // Read one byte from each file.
              file1byte = fs1.ReadByte();
              file2byte = fs2.ReadByte();
         }
         while ((file1byte == file2byte) && (file1byte != -1));
         
         // Close the files.
         fs1.Close();
         fs2.Close();
    
         // Return the success of the comparison. "file1byte" is 
         // equal to "file2byte" at this point only if the files are 
            // the same.
         return ((file1byte - file2byte) == 0);
    }
    					
  7. Vložte následující kód v Klepněte na tlačítko Událost tlačítka:
    private void button1_Click(object sender, System.EventArgs e)
    {
       // Compare the two files that referenced in the textbox controls.
       if (FileCompare(this.textBox1.Text, this.textBox2.Text))
          {
             MessageBox.Show("Files are equal.");
          }
       else
          {
             MessageBox.Show("Files are not equal.");
          }  
    } 
    					
  8. Uložit a spustit ve vzorku.
  9. Poskytnout úplné cesty dva soubory v textových polí a potom klepněte na příkazové tlačítko.

Odkazy

Další informace naleznete na následujících webech společnosti Microsoft:
Obor názvů System.IO
(http://msdn2.microsoft.com/en-us/library/System.IO (vs.71) .aspx)
Přístup k souboru pomocí třídy FileStream
(http://msdn2.microsoft.com/en-us/library/Aa903246 (VS.71) .aspx)

Vlastnosti

ID článku: 320348 - Poslední aktualizace: 19. května 2011 - Revize: 3.0
Informace v tomto článku jsou určeny pro produkt:
  • Microsoft Visual C# .NET 2002 Standard Edition
  • Microsoft Visual C# 2005 Express Edition
Klíčová slova: 
kbhowtomaster kbio kbmt KB320348 KbMtcs
Strojově přeložený článek
Důležité: Tento článek byl přeložen pomocí software společnosti Microsoft na strojový překlad, ne profesionálním překladatelem. Společnost Microsoft nabízí jak články přeložené překladatelem, tak články přeložené pomocí software na strojový překlad, takže všechny články ve Znalostní databázi (Knowledge Base) jsou dostupné v češtině. Překlad pomocí software na strojový překlad ale není bohužel vždy dokonalý. Obsahuje chyby ve skloňování slov, skladbě vět, nebo gramatice, podobně jako když cizinci dělají chyby při mluvení v češtině. Společnost Microsoft není právně zodpovědná za nepřesnosti, chyby nebo škody vzniklé chybami v překladu, nebo při použití nepřesně přeložených instrukcí v článku zákazníkem. Společnost Microsoft aktualizuje software na strojový překlad, aby byl počet chyb omezen na minimum.
Projděte si také anglickou verzi článku:320348

Dejte nám zpětnou vazbu

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com