Originariamente inviato da omaggi
momentaneamente mi legge un file definito (cioé con il path completo). Io però dovrei dirgli di leggere una data cartella e di eseguire l'applicazione su tutti i file che esistono in questa cartella...
[Ho cercato nel forum e ho trovato certe discussioni interessanti sul metodo listFiles, però non sono riuscito proprio ad inserirlo nel mio caso specifico...]
Appunto.... list() o listFiles() di java.io.File.
A grandi linee il codice da cui puoi partire è:
codice:
File dir = new File("...tua-cartella...");
File[] txtFiles = dir.listFiles(new FilenameFilter() {
public boolean accept(File dir, String name) {
return name.endsWith(".txt"); // prende solo i file che terminano con .txt
}
});
for (int i = 0; i < txtFiles.length; i++) {
File f = txtFiles[i];
// .... fai quello che devi fare con ogni file txt
}
Ed è chiaro che devi anche cambiare un pochino le cose nel codice che hai postato. Come hai fatto finora, hai un main() in cui fai solo la gestione di 1 file con path fisso. Chiaramente devi "spostare" tutta la gestione del file di testo dentro il for che ho appena mostrato o meglio ancora in un metodo apposito (e nel for sopra lo invochi semplicemente).
Nota: la implementazione del FilenameFilter l'ho fatta come "anonymous" inner class. Ma si può fare anche in altri modi.