Comparación de archivos usando C#

C# es un lenguaje de programación de propósito general, moderno y orientado a objetos pronunciado como “C Sharp”, en el que podemos crear archivos. A veces necesitamos realizar operaciones en el archivo. Esta operación puede ser cualquier cosa, desde comparar archivos byte a byte o necesitar verificar las fechas o la longitud de los archivos.

Para obtener esto, tenemos algunas clases como FileStream, FileInfo que se incluyen en el espacio de nombres System.IO.

Para realizar la comparación de archivos:

Para la comparación de archivos, tenemos varias opciones, ya sea podemos hacer un flujo de archivos y verificar el archivo byte por byte. C# tiene una clase FileInfo que también se puede usar para comparar la longitud o su fecha de creación. FileInfo es una clase sellada, lo que significa que no se puede heredar. Aquí vamos a utilizar dos clases FileStream y FileInfo para las comparaciones.

FileInfo de clase pública sellada: System.IO.FileSystemInfo

Clase pública FileStream: System.IO.Stream

Ejemplo 1:

C#

// Use FileInfo Class in C#
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
  
namespace FileInfo1
{
    internal class Program
    {
        static void Main(string[] args)
        {
            FileInfo f1 = new FileInfo(@"C:\test\test1.txt");
            FileInfo f2 = new FileInfo(@"C:\test\test2.txt");
              
            // checking the size of siles
            if(f1.Length != f2.Length)
            {
                Console.WriteLine("File sizes are not equal");
            }
            else
            {
                Console.WriteLine("File sizes are equal");
            }
            //for getting Creation time
            Console.WriteLine("first file creatuin date is " + f1.CreationTime);
            Console.WriteLine("second file creatuin date is " + f2.CreationTime);
  
            //For getting parent directory
            Console.WriteLine("first file parent Directory is " + f1.Directory);
            Console.WriteLine("second file parent Directory is " + f2.Directory);
            Console.Read();
        }
    }
}

Producción:

 

Ejemplo 2:

C#

// Use FileStream Class in C#
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
  
namespace use_file_stream
{
    internal class Program
    {
        static void Main(string[] args)
        {
            string path1 = @"C:\test\test1.txt";
            string path2 = @"C:\test\test2.txt";
  
            using(FileStream fs1 = new FileStream(path1, FileMode.Open),
                  fs2 = new FileStream(path2, FileMode.Open))
            {
                int c1 = 0;
                int c2 = 0;
                do
                {
                    c1 = fs1.ReadByte();
                    c2 = fs2.ReadByte();
                }
                while (c1 == c2 && c1!=-1 && c2!=-1);
  
                if (c1 == c2)
                {
                    Console.WriteLine("Files are equal");
                }
                else{
                    Console.WriteLine("Files are not equal");
                }
                Console.ReadLine();
            }
             
        }
  
    }
}

Producción:

 

Publicación traducida automáticamente

Artículo escrito por sumu4034 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *