Você está offline; aguardando reconexão
Entrar

Como criar uma função de comparar arquivos no Visual translation from VPE for Csharp

IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine Translation ou MT), não tendo sido portanto traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.

320348
Para uma versão deste artigo do Microsoft Visual Basic. NET, consulte 320346.

Este artigo se refere ao seguinte namespace Microsoft .NET Framework Class Library:
  • System.IO

NESTA TAREFA

Sumário
Este artigo passo a passo demonstra como comparar dois arquivos para ver se o seu conteúdo é os mesmos. Essa comparação examina o conteúdo de dois arquivos, não nos nomes de arquivo, locais, datas, horas ou outros atributos.

Essa funcionalidade é semelhante ao utilitário de Fc.exe baseado em Microsoft MS-DOS que está incluído com várias versões do Microsoft Windows e o Microsoft MS-DOS e com algumas ferramentas de desenvolvimento.

O código de exemplo que é descrito neste artigo executa uma comparação byte por byte até que ele encontra uma incompatibilidade ou atingir o final do arquivo. O código também executará duas verificações simples para aumentar a eficiência da comparação:
  • Se ambos arquivos ponto referências para o mesmo arquivo, os dois arquivos devem ser iguais.
  • Se o tamanho dos dois arquivos não for o mesmo, os dois arquivos não são iguais.
back to the top

Para criar o exemplo

  1. Crie um novo projeto do Visual translation from VPE for Csharp Windows Application. Por padrão, é criado o Form1.
  2. Adicione dois controles de caixa de texto ao formulário.
  3. Adicione um botão de comando ao formulário.
  4. No menu Exibir , clique em código .
  5. Adicione a seguinte instrução USING para a classe Form1 :
    using System.IO;					
  6. Adicione o seguinte método à classe Form1 :
    // 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. Cole o seguinte código no evento Click do botão de comando:
    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. Salve e em seguida, executar a amostra.
  9. Fornecer os caminhos completos para os dois arquivos nas caixas de texto e clique no botão de comando.
back to the top
Referências
Para obter mais informações, visite os seguintes sites:
Acesso de arquivo até a classe FileStream
(http://msdn2.microsoft.com/en-us/library/Aa903246(VS.71).aspx)
back to the top

Aviso: Este artigo foi traduzido automaticamente

Propriedades

ID do Artigo: 320348 - Última Revisão: 11/26/2007 02:07:26 - Revisão: 1.6

  • Microsoft Visual C# .NET 2002 Standard Edition
  • Microsoft Visual C# 2005 Express Edition
  • kbmt kbhowtomaster kbio KB320348 KbMtpt
Comentários