
Versione (ricorsiva) pre Java 8. Il seguente metodo prende in input un oggetto di tipo file (folder) che rappresenta la directory di cui si vuole leggere il contenuto e stampa su standard output il nome dei file contenuti in essa. Se la directory in input contiene sotto directory, questo metodo elenca in maniera ricorsiva anche i file presenti in queste ultime.
1 2 3 4 5 6 7 8 9 10 11 12 | public void listFiles( final File folder) { for ( final File fileEntry : folder.listFiles()) { if (fileEntry.isDirectory()) { listFiles(fileEntry); } else { System.out.println(fileEntry.getName()); } } } final File folder = new File( "/home/you/Desktop" ); listFiles(folder); |
Versione Java >= 8. Qui si utilizza la classe Files che è una classe di utilità che mette a disposizione vari metodi statici per operare sui file.
1 2 3 4 | try (Stream<Path> paths = Files.walk(Paths.get( "/home/you/Desktop" ))) { paths.filter(Files::isRegularFile) .forEach(System.out::println); } |