Mi código debe leerse en todo un archivo. Actualmente estoy usando el siguiente código:¿Cómo ver si un lector está en EOF?
BufferedReader r = new BufferedReader(new FileReader(myFile));
while (r.ready()) {
String s = r.readLine();
// do something with s
}
r.close();
Si el archivo está vacío, sin embargo, a continuación, s
es nulo, lo que no es bueno. ¿Hay algún Reader
que tenga un método atEOF()
o equivalente?
El método listo() sólo indica si la próxima lectura bloqueará. Si el lector está en eof, la próxima llamada no se bloqueará; volverá inmediatamente con una indicación de EOF (nulo para readline, -1 para lectura). –
Mejor aún: do-while en vez de while. –
El JavaDoc de 'BufferedReader.readLine()' dice que devuelve "Una cadena que contiene el contenido de la línea ... o nulo ** si se ha alcanzado el final de la secuencia **" – Raedwald