As fontes comuns de espaço em disco desperdiçado são cópias duplicadas do mesmo arquivo em todo o sistema . Para evitar isso, você pode criar um script simples em Java para remover todos, mas uma cópia de cada arquivo descoberto. Este script irá prosseguir através de todos os arquivos dentro de uma determinada pasta e inspecioná-los individualmente para determinar quais são equivalentes. Esta poderia ser uma forma , por exemplo, para limpar a pasta de música que tem várias entradas duplicadas. Instruções
1
Abra um editor de texto . Qualquer editor de texto irá fazer, mas você pode preferir usar um ambiente de desenvolvimento integrado (IDE) como Netbeans para salvar-se alguns passos .
2
Cole o seguinte estrutura básica da classe Java para remover arquivos duplicados :
import java.io.File ;
java.io.FileNotFoundException importação;
import java.util.Scanner ;
public class DuplicateFileRemover {
CompareFiles boolean public static (Arquivo x , y ) { arquivo
}
void main ( string [ ] args ) { public static
}
}
o código irá para os dois métodos : . CompareFiles e principais
3
Preencha o código para o método CompareFiles :
CompareFiles boolean public static (Arquivo x , y Arquivo ) { try {
Scanner xs = new Scanner ( x);
Scanner ys = new Scanner ( y);
resultado boolean = true;
while ( result) {
if ( xs.nextByte () = ys.nextByte ) ) resultado ( = false ! ;
}
resultado de retorno;
} catch ( FileNotFoundException e) {
System.out.println ( e.getMessage ()); < br >
return false; }
}
Este método irá comparar os dois arquivos que lhe são atribuídas , byte por byte , para ver se eles contêm dados duplicados. Assim que descobre a diferença, ele reporta que os arquivos não são os mesmos. Caso contrário, ele informa que eles são
4
Cole os dados para o método principal : .
Void main ( String [ ] args ) { public static
dir arquivo = new File (" . ");
File [ ] = 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 () ; .
}
}
}
}
Esta prossegue através todos os arquivos no diretório atual e testa cada um contra os outros para ver se eles são os mesmos. Se dois arquivos são os mesmos , o primeiro dos dois é excluído.