Ciao a tutti.
Ho scritto (finalmente), un applicazione che legge riga per riga da un file txt (i campi sono separati da e secondo certi parametri, cancella certi dati che non mi servono.
I dati utili vengono poi inseriti in un ArrayList. Il passo successivo sarà quello di inserirli in un db MySQL tramite JDBC Connector.

Il mio problema é il seguente:
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...]

Vi allego il codice, così da poter avere una visione chiara del mio problema...

import java.io.*;
import java.util.ArrayList;

class FileRead {
public static void main(String args[]) {

try{
int count = 0;
File f=new File("C:/Dati/dati1.txt");
FileInputStream fis=new FileInputStream(f);
InputStreamReader isr=new InputStreamReader(fis);
BufferedReader br=new BufferedReader(isr);
String linea=br.readLine(); //leggo la riga la 1a volta
count++;
while(linea!=null){ //non inserisco le prime 2 righe nel arraylist
if(count > 2)
stampaArrayList(parseTxt(linea));
linea = br.readLine();
count++;
}

}catch (Exception e){
System.err.println("Errore: " + e.getMessage());
}
}

static ArrayList<String> parseTxt (String riga) { //metodo che divide e pulisce la riga di dati
int nextPosizione = 0;
int posizione = 0;
int count = 1; //conta i ";"
String temp = null;
ArrayList<String> array = new ArrayList<String>();

nextPosizione = riga.indexOf(";", posizione);
while(nextPosizione >-1){
if((count < 2 || count > 10) && (count < 13 || count > 15)) {
temp = riga.substring(posizione, nextPosizione);
if(!temp.equals("W")){
array.add(temp);
}
}
posizione = nextPosizione +1;
nextPosizione = riga.indexOf(";", posizione);
count++;
}
return array;
}


static void stampaArrayList (ArrayList<String> list) { //metodo che stampa la lista di array
for(int i=0; i<list.size();i++) {
System.out.println("Elemento "+(i+1)+": "+list.get(i));
}
System.out.println("============================") ;
}

}

Qualcuno mi saprebbe aiutare? Grazie mille e buona giornata Omar!