Java BufferedReader: Como ler arquivos em Java com exemplo

Como ler um arquivo em Java?

Java fornece vários mecanismos para ler do File. O pacote mais útil que é fornecido para isso é o java.io.Reader. Esta classe contém a Class Java BufferedReader no pacote java.io.BufferedReader

O que é o BufferedReader em Java?

BufferedReader é um Java classe para ler o texto de um fluxo de entrada (como um arquivo) armazenando caracteres em buffer que lê caracteres, matrizes ou linhas perfeitamente. Em geral, cada solicitação de leitura feita de um Reader faz com que uma solicitação de leitura correspondente seja feita do fluxo de caracteres ou bytes subjacente.

Portanto, é aconselhável embrulhar BufferedReader em Java em torno de qualquer Reader cujas operações read() podem ser custosas, como Java FileReaders e InputStreamReaders. Um uso típico envolveria passar o caminho do arquivo para o BufferedReader em Java como se segue:

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

Isso basicamente carrega seu arquivo no objReader. Agora, você precisará percorrer o conteúdo do arquivo e imprimi-lo.

A loop while no código abaixo irá ler o arquivo até chegar ao final do arquivo

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

strCurrentLine lê a linha atual e o Java A função readLine objReader.readLine() retorna uma string. Conseqüentemente, o loop irá iterar até que não seja nulo.

BufferExemplo de edReader

Abaixo do código está um Java BufferExemplo de edReader que mostra a implementação 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:

O código acima tem algumas manipulações muito importantes, especialmente no bloco final do código.

Este código garantirá que o gerenciamento de memória é feito de forma eficiente e o método objReader.close() é chamado, liberando a memória.

BufferExemplo de edReader JDK7

Abaixo está o exemplo de Java Ler arquivos usando Bufferclasse 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();
  }
 }
}