Você está offline; aguardando reconexão

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.

Clique aqui para ver a versão em Inglês deste artigo: 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