Java BufferedReader: Cómo leer archivos en Java con ejemplo

¿Cómo leer un archivo en Java?

Java proporciona varios mecanismos para leer desde un archivo. El paquete más útil que se proporciona para esto es java.io.Reader. Esta clase contiene la clase Java. BufferedReader en el paquete java.io.BufferedReader

Que es BufferedReader en Java?

BufferedReader es una clase Java para leer el texto de una secuencia de entrada (como un archivo) mediante buffering caracteres que lee sin problemas caracteres, matrices o líneas. En general, cada solicitud de lectura realizada a un lector provoca que se realice una solicitud de lectura correspondiente del carácter subyacente o flujo de bytes.

Por tanto, es aconsejable envolver BufferedReader en Java alrededor de cualquier lector cuyo read() operaLas funciones pueden ser costosas, como Java FileReaders y InputStreamReaders. Un uso típico implicaría pasar la ruta del archivo al BufferedReader en Java de la siguiente manera:

objReader = new BufferedReader(new FileReader("D:\DukesDiary.txt"));
//Assuming you have a text file in D drive

Básicamente, esto carga su archivo en objReader. Ahora, deberá recorrer el contenido del archivo e imprimirlo.

En mientras bucle en el siguiente código leerá el archivo hasta que llegue al final del archivo

while ((strCurrentLine = objReader.readLine()) != null) {
    System.out.println(strCurrentLine);
}

strCurrentLine lee la línea actual y la función Java readLine objReader.readLine() devuelve una cadena. Por lo tanto, el bucle se repetirá hasta que deje de ser nulo.

BufferEjemplo de edReader

El siguiente código es Java. BufferEjemplo de edReader que muestra la implementación completa:

import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;

public class ReadFileExample {

 public static void main(String[] args) {
  BufferedReader objReader = null;
  try {
   String strCurrentLine;

   objReader = new BufferedReader(new FileReader("D:\\DukesDiary.txt"));

   while ((strCurrentLine = objReader.readLine()) != null) {

    System.out.println(strCurrentLine);
   }

  } catch (IOException e) {

   e.printStackTrace();

  } finally {

   try {
    if (objReader != null)
     objReader.close();
   } catch (IOException ex) {
    ex.printStackTrace();
   }
  }
 }
}

Nota:

El código anterior tiene algunos aspectos muy importantes, especialmente en el bloque final del código.

Este código garantizará que el gestión de la memoria se realiza de manera eficiente y se llama al método objReader.close() que libera la memoria.

BufferEjemplo de edReader JDK7

A continuación se muestra el ejemplo de lectura de archivos Java utilizando Bufferclase edReader

import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;

public class ReadFileExample_jdk7 {

 private static final String FILENAME = "D:\\DukesDiary.txt";

 public static void main(String[] args) {

  try (BufferedReader br = new BufferedReader(new FileReader(FILENAME))) {

   String strCurrentLine;

   while ((strCurrentLine = br.readLine()) != null) {
    System.out.println(strCurrentLine);
   }

  } catch (IOException e) {
   e.printStackTrace();
  }
 }
}