Home Hardware Networking Programmazione Software Domanda Sistemi
Conoscenza Informatica >> Programmazione >> Java Programming >> .

Come rimuovere i file duplicati in Java

Le fonti comuni di spazio su disco sprecato sono copie duplicate dello stesso file in tutto il sistema . Per evitare ciò, è possibile creare un semplice script in Java per rimuovere tutto , ma una copia di ogni file scoperti. Questo script procederà attraverso tutti i file all'interno di una determinata cartella e controllare individualmente per determinare quali sono equivalenti . Questo potrebbe essere un modo, per esempio , per cancellare una cartella di musica che ha più voci duplicate . Istruzioni
1

Aprire un editor di testo . Qualsiasi editor di testo farà, ma si può scegliere di utilizzare un ambiente di sviluppo integrato ( IDE ) come Netbeans per risparmiare alcuni passaggi .
2

incollare la seguente struttura di base della classe Java per rimuovere i file duplicati :

import java.io.File ;

importazione java.io.FileNotFoundException ;

importazione java.util.Scanner ;

class DuplicateFileRemover pubblico {

pubblici CompareFiles booleani statici ( file x , y File ) { }


public static void main (String [] args ) { } <

br

}
>

il codice andrà in due metodi : . CompareFiles e principali
3

Compilare il codice per il metodo CompareFiles :

public static boolean CompareFiles ( File x , y File ) { try {


Scanner xs = new Scanner ( x ) ;

Scanner ys = new Scanner ( y) ;

risultato boolean = true ;

mentre (result) {

se ( xs.nextByte ( ) = ys.nextByte ( ) ) risultato = false ;!

}
risultato ritorno

;

} catch ( FileNotFoundException e) {

System.out.println ( e.getMessage ( ) ) ; < br

ritorno > false; }


}

Questo metodo confrontare i due file vengono impartite , byte per byte, per vedere se contengono dati duplicati . Non appena rileva una discrepanza , genera un rapporto che i file non sono gli stessi . In caso contrario , si segnala che essi sono
4

Incollare i dati per il metodo principale : .

Public static void main (String [] args ) {

File dir = new File ( ".") ;

File [ ] = fileList dir.listFiles ();

for (int x = 0; x < fileList.length ; x + + ) {

for (int y = x +1 , y < fileList.length ; y + + ) {

se ( CompareFiles ( fileList [ x ] , fileList [y ] ) ) {

fileList [ x ] delete () ; .

}

}

}

}

Questo procede attraverso tutti i file nella directory e test ognuno contro gli altri per vedere se sono la stessa corrente . Se due file sono uguali , il primo dei due è soppresso .

 

Programmazione © www.354353.com