Fuentes comunes de espacio en disco desperdiciado son copias duplicadas de un mismo archivo en el sistema. Para evitarlo , puede crear un script sencillo en Java para eliminar todas menos una copia de cada archivo encontrado . Este script se procederá a través de todos los archivos dentro de una carpeta determinada e inspeccionar de forma individual para determinar cuáles son equivalentes. Esto podría ser una manera, por ejemplo, para borrar una carpeta de música que tiene múltiples entradas duplicadas. Instrucciones
1
Abra un editor de texto. Cualquier editor de texto va a hacer, pero usted puede preferir utilizar un entorno de desarrollo integrado ( IDE ) NetBeans como para ahorrarse algunos pasos .
2
Pega la siguiente estructura básica de la clase Java para eliminar archivos duplicados :
importación java.io.File ;
java.io.FileNotFoundException importación
;
importación java.util.Scanner ;
public class DuplicateFileRemover {
públicos CompareFiles estáticas booleanos ( archivo x, archivo y) { }
void (String [] args ) { public static
}
}
el código entrará en los dos métodos : . CompareFiles y principales
3
Rellene el código para el método CompareFiles :
pública CompareFiles booleana estática ( archivo x, archivo y) { try {
escáner xs = new escáner ( x);
escáner ys = new escáner ( y);
resultado booleano = true;
while ( resultado) {
if ( xs.nextByte () = ys.nextByte ()) resultado = false ! ;
}
resultado devuelto
;
} catch ( FileNotFoundException e) { System.out.println
( e.getMessage ()); < br >
return false ; }
}
Este método comparará los dos archivos que le han sido , byte a byte , para ver si contienen datos duplicados . Tan pronto como se detecta una diferencia , se informa que los archivos no son el mismo . De lo contrario , se informa que son
4
Pegar en los datos para el método principal : .
Void (String [] args ) { public static
archivo dir = new archivo ("." ) ;
archivo [ ] = fileList dir.listFiles ();
for (int x = 0 ; x < fileList.length ; x + +) {
for (int y = x +1 , y < fileList.length , y + + ) {
if ( CompareFiles ( fileList [x ] , fileList [ y] )) { < br >
fileList [x ] delete ( ) .
} } }
}
Esto procede a través todos los archivos del directorio y pruebas de cada uno contra los otros para ver si son la misma corriente . Si dos archivos son iguales, la primera de las dos se elimina.