BufferedReader (clase) java.io.BufferedReader

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