Estás trabajando sin conexión, espera a que vuelva la conexión a Internet

Tu explorador no es compatible

Debes actualizar tu explorador para usar el sitio.

Actualiza a la versión más reciente de Internet Explorer

Cómo crear una función de comparación de archivos en Visual C#

IMPORTANTE: Este artículo ha sido traducido por un software de traducción automática de Microsoft (http://support.microsoft.com/gp/mtdetails) en lugar de un traductor humano. Microsoft le ofrece artículos traducidos por un traductor humano y artículos traducidos automáticamente para que tenga acceso en su propio idioma a todos los artículos de nuestra base de conocimientos (Knowledge Base). Sin embargo, los artículos traducidos automáticamente pueden contener errores en el vocabulario, la sintaxis o la gramática, como los que un extranjero podría cometer al hablar el idioma. Microsoft no se hace responsable de cualquier imprecisión, error o daño ocasionado por una mala traducción del contenido o como consecuencia de su utilización por nuestros clientes. Microsoft suele actualizar el software de traducción frecuentemente.

Haga clic aquí para ver el artículo original (en inglés): 320348
Para obtener una versión de Microsoft Visual Basic .NET de este artículo, consulte 320346.

Este artículo hace referencia al siguiente espacio de nombres de la Biblioteca de clases de Microsoft .NET Framework:
  • System.IO

En esta tarea

Resumen
En este artículo paso a paso muestra cómo comparar dos archivos para ver si su contenido es los mismos. Esta comparación examina el contenido de los dos archivos, no en los nombres de archivo, ubicaciones, fechas, horas o otros atributos.

Esta funcionalidad es similar a la utilidad de Fc.exe-MS-DOS que se incluye con varias versiones de Microsoft Windows y MS-DOS y con algunas herramientas de desarrollo.

El código de ejemplo que se describe en este artículo, realiza una comparación byte por byte hasta que encuentra un error de coincidencia o cuando llega el final del archivo. El código también realiza dos comprobaciones simples para aumentar la eficacia de la comparación:
  • Si ambos archivos punto referencias al mismo archivo, deben ser iguales los dos archivos.
  • Si el tamaño de los dos archivos no es el mismo, los dos archivos no son iguales.
back to the top

Para crear el ejemplo

  1. Cree un nuevo proyecto de aplicación para Windows de Visual C#. De forma predeterminada, se crea Form1.
  2. Agregue dos controles textbox al formulario.
  3. Agregue un botón de comando al formulario.
  4. En el menú Ver , haga clic en código .
  5. Agregue la siguiente instrucción USING a la clase Form1 :
    using System.IO;					
  6. Agregue el método siguiente a la clase 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. Pegue el código siguiente en el evento Click del botón 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. Guarde y ejecute el ejemplo.
  9. Proporcionar las rutas de acceso completas a los dos archivos en los cuadros de texto y, a continuación, haga clic en el botón de comando.
back to the top
Referencias
Para obtener más información, visite los siguientes sitios Web de Microsoft (pueden estar en inglés):
Acceso a archivos mediante la clase FileStream
(http://msdn2.microsoft.com/en-us/library/Aa903246(VS.71).aspx)
back to the top

Warning: This article has been translated automatically

Propiedades

Id. de artículo: 320348 - Última revisión: 11/26/2007 02:07:26 - Revisión: 1.6

  • Microsoft Visual C# .NET 2002 Standard Edition
  • Microsoft Visual C# 2005 Express Edition
  • kbmt kbhowtomaster kbio KB320348 KbMtes
Comentarios
/c1.microsoft.com/c.gif?DI=4050&did=1&t=">//c1.microsoft.com/c.gif?DI=4050&did=1&t=">