Gemeenschappelijke bronnen van verspilde schijfruimte zijn kopieën van hetzelfde bestand over het systeem . Om dit te voorkomen , kunt u een eenvoudig script in Java te creëren voor alle, maar een kopie van elk bestand ontdekt te verwijderen . Dit script zal binnen een bepaalde map door alle bestanden gaan en inspecteren hen individueel te bepalen welke gelijkwaardig zijn . Dit zou een manier zijn , bijvoorbeeld om een muziekmap die meerdere dubbele vermeldingen heeft duidelijk uit . Instructies 1 Open een tekstverwerker . Elke tekstverwerker zal doen , maar u kunt ervoor kiezen om een Integrated Development Environment ( IDE ) te gebruiken zoals Netbeans om jezelf te redden een aantal stappen . Plak 2 de volgende basisstructuur van de Java-klasse om dubbele bestanden te verwijderen : import java.io.File ; import java.io.FileNotFoundException ; import java.util.Scanner ; public class DuplicateFileRemover { public static boolean CompareFiles ( File x , File y ) { } public static void main ( String [ ] args ) op { } < br } Aanmelden> de code zal in de twee methoden : . CompareFiles en belangrijkste 3 Vul de code voor de CompareFiles methode : public static boolean CompareFiles ( File x , File y ) { try { Scanner xs = new Scanner ( x ) ; Scanner ys = new Scanner ( y ) ; boolean resultaat = true; terwijl ( resultaat ) { if ( xs.nextByte ( ) = ys.nextByte ( ) ) resultaat = false ;! } terugkeer resultaat ; } catch ( FileNotFoundException e ) { System.out.println ( e.getMessage ( ) ) ; < br return > false; } } Deze methode vergelijkt de twee bestanden die eraan wordt gegeven , byte voor byte , om te zien of ze dubbele gegevens bevatten . Zodra hij ontdekt een verschil , rapporteert terug dat de bestanden zijn niet hetzelfde . Anders , rapporteert dat zij 4 Plak in de gegevens voor de belangrijkste methode : . Public static void main ( String [ ] args ) op { file dir = nieuw dossier ( " . " ) ; file [ ] Bestandenoverzicht = dir.listFiles ( ) ; voor ( int x = 0 ; x < fileList.length ; x + + ) { voor ( int y = x +1 , y < fileList.length ; y + + ) { if ( CompareFiles ( Bestandenoverzicht [ x ] , Bestandenoverzicht [ y ] ) ) { < br > Bestandenoverzicht [ x ] verwijderen ( ) ; . } } } } Dit verloopt via elk bestand in de huidige directory en tests elk een tegen de anderen om te zien of ze hetzelfde zijn . Als twee bestanden zijn hetzelfde , de eerste van de twee is verwijderd .
|