Originariamente inviato da Wahnsinn
devo leggere un file che contiene n lettere, leggerle una per una, controllare se sono valide e se lo sono aggiungerle a un arraylist risultato.
Io dalla struttura generica che hai indicato, vedo solo che ci sono N righe separate ogni tanto da un "codice" fisso.
Quindi le tue lettere come sono? Una sola lettera per riga?
Ma fare un esempio pratico?? No?

Tipo:

codice:
UNCODICE
a
b
c
UNCODICE
d
e
f
UNCODICE
Tu vuoi che una prima invocazione di questo "tuo" metodo ti fornisca un ArrayList con "a","b","c" e una seconda successiva invocazione ti fornisca un altro ArrayList con le lettere nel blocco successivo cioè "d","e","f" e così via ...???

Originariamente inviato da Wahnsinn
codice:
BufferedReader reader = funzioneCheRecuperaBufferedReader();
ArrayList<String> lettera = new ArrayList<String>();
while(lettera!= null)
    {
           lettera=ottieniSingolaLettera(reader);
           //funzioni che controllano se la lettera è valida
     }
No, se è come ho ipotizzato io sopra, non va bene dal punto di vista del "design".
Dovresti definire una "tua" classe, che ha internamente il BufferedReader (che resta "vivo" tra una invocazione e l'altra di quel metodo e quindi mantenere internamente uno "stato" in modo che possa progredire in momenti successivi nella lettura di questo file.