Es una clase derivada de Reader que proporciona
más rapidez, al leer montones de caracteres
antes de que se los pidan
un método "readLine()" que devuelve
los caracteres línea a línea
BufferedReader realiza una gestión más eficiente
del fichero, leyendo muchos caracteres de golpe para que las llamadas a los
métodos 'read()' sean más rápidas.
El ejemplo anterior probablemente funcione más
deprisa escrito de la siguiente forma:
public String leeTodosLosCaracteres(String
fichero) throws IOException { StringBuilder buffer = new
StringBuilder(); Reader reader = new BufferedReader( new
FileReader(fichero)); char[] chars = new char[1024]; while (true) { int n = reader.read(chars); if (n < 0) break; buffer.append(chars, 0, n); } reader.close(); return buffer.toString(); } |
El
ejemplo siguiente muestra el uso del método "readLine()" para leer
línea a línea:
public List<String>
leeTodasLosLineas(String fichero) throws IOException { List<String> lineas = new
ArrayList<String>(); BufferedReader reader = new BufferedReader( new
FileReader(fichero)); while (true) { String linea = reader.readLine(); if (linea == null) break; lineas.add(linea); } reader.close(); return lineas; } |
Temas relacionados
30. Reader (clase abstracta) java.io.Reader