Il mio codice deve essere letto in tutto il file. Attualmente sto usando il seguente codice:Come verificare se un lettore è in EOF?
BufferedReader r = new BufferedReader(new FileReader(myFile));
while (r.ready()) {
String s = r.readLine();
// do something with s
}
r.close();
Se il file è vuoto, anche se, poi s
è nullo, il che non va bene. C'è uno Reader
che ha un metodo atEOF()
o equivalente?
Il metodo pronto() dice solo se la prossima lettura bloccherà. Se il Reader è in eof la prossima chiamata non bloccherà; ritornerà immediatamente con un'indicazione EOF (null per readline, -1 per read). –
Ancora meglio: do-while invece di while. –
Il JavaDoc di 'BufferedReader.readLine()' dice che restituisce "Una stringa contenente il contenuto della linea ... o null ** se è stata raggiunta la fine del flusso **" – Raedwald