miércoles, 20 de marzo de 2013

Comparar dos Archivos Binarios byte por byte

Diseñar una aplicacion que solicite desde teclado el nombre de dos archivo binarios y cuyo contenidos deberá comparar byte por byte.
import java.io.DataInputStream;
import java.io.IOException;
import java.io.BufferedInputStream;
import java.io.FileInputStream;
import java.util.Scanner;

public class Compara_BytexByte
{
    public static void main(String[] args) throws IOException
    {
        Scanner teclado = new Scanner(System.in);
        System.out.print("Escribe el primer archivo binario a comparar: ");
        String bin1 = teclado.next();
        System.out.print("Escribe el segundo archivo binario a comparar: ");
        String bin2 = teclado.next();

        try 
        {
            DataInputStream x = new DataInputStream(new BufferedInputStream(new FileInputStream(bin1)));
            DataInputStream y = new DataInputStream(new BufferedInputStream(new FileInputStream(bin2)));            
            
            int dato1=0, dato2=0;
            int cont1=0, cont2=0;            
            while(dato1 !=-1 || dato2 != -1)
            {
              dato1=x.read();
              dato2=y.read();              
              if(dato1!=-1)
              {  
                  cont1++;  
              }  
              if(dato2!=-1)
              {
                  cont2++;
              }
            }
            System.out.println("\nEl primer archivo binario tiene "+cont1+" Bytes");  
            System.out.println("El segundo archivo binario tiene "+cont2+" Bytes");
            if(cont1 == cont2)
            {
                System.out.println("Los archivos comparardos son iguales");
            }
            else
            {
                System.out.println("Los archivos comparados son diferentes");
            }
            x.close();
            y.close();
        }catch(IOException e)
        {
            System.out.println("Error:");
        }
    }
}
Output:
Escribe el primer archivo binario a comparar: databin.bin
Escribe el segundo archivo binario a comparar: datos.bin

El primer archivo binario tiene 120 Bytes
El segundo archivo binario tiene 118 Bytes
Los archivos comparados son diferentes

1 comentario:


Entradas populares