Queremos proponerte la mejor información que encontramos en línea. Nosotros deseamos que te sirva de ayuda y si deseas comentarnos algo que nos pueda ayudar a mejorar hazlo libremente.
Solución:
¿Son las bibliotecas de terceros un juego justo? guayaba tiene Files.equal(File, File)
. No hay una razón real para molestarse con el hashing si no es necesario; solo puede ser menos eficiente.
Siempre hay que leer byte a byte de cada archivo y compararlos sobre la marcha. Md5 y Sha1, etc. todavía tienen que leer todos los bytes, por lo que calcular el hash es un trabajo adicional que no tiene que hacer.
if(file1.length() != file2.length())
return false;
try( InputStream in1 =new BufferedInputStream(new FileInputStream(file1));
InputStream in2 =new BufferedInputStream(new FileInputStream(file2));
)
int value1,value2;
do
//since we're buffered read() isn't expensive
value1 = in1.read();
value2 = in2.read();
if(value1 !=value2)
return false;
while(value1 >=0);
//since we already checked that the file sizes are equal
//if we're here we reached the end of both files without a mismatch
return true;
Con aserciónBinaryEquals.
public static void assertBinaryEquals(java.io.File expected,
java.io.File actual)
http://junit-addons.sourceforge.net/junitx/framework/FileAssert.html
Puedes añadir valor a nuestro contenido informacional dando tu experiencia en las referencias.