Java BufferedReader (com exemplos)

Neste tutorial, aprenderemos sobre Java BufferedReader e seus métodos com a ajuda de exemplos.

A BufferedReaderclasse do java.iopacote pode ser usada com outros leitores para ler dados (em caracteres) de forma mais eficiente.

Ele estende a classe abstrata Reader.

Trabalho de BufferedReader

O BufferedReadermantém um buffer interno de 8.192 caracteres .

Durante a operação de leitura em BufferedReader, um bloco de caracteres é lido do disco e armazenado no buffer interno. E a partir do buffer interno, os caracteres são lidos individualmente.

Conseqüentemente, o número de comunicação com o disco é reduzido. É por isso que ler caracteres é mais rápido usando BufferedReader.

Crie um BufferedReader

Para criar um BufferedReader, devemos java.io.BuferedReaderprimeiro importar o pacote. Depois de importar o pacote, aqui está como podemos criar o leitor.

 // Creates a FileReader FileReader file = new FileReader(String file); // Creates a BufferedReader BufferedReader buffer = new BufferedReader(file); 

No exemplo acima, criamos um BufferedReaderbuffer nomeado com o FileReaderarquivo nomeado.

Aqui, o buffer interno do BufferedReadertem o tamanho padrão de 8.192 caracteres. No entanto, também podemos especificar o tamanho do buffer interno.

 // Creates a BufferdReader with specified size internal buffer BufferedReader buffer = new BufferedReader(file, int size); 

O buffer ajudará a ler os caracteres dos arquivos mais rapidamente.

Métodos de BufferedReader

A BufferedReaderclasse fornece implementações para diferentes métodos presentes em Reader.

Método read ()

  • read() - lê um único caractere do buffer interno do leitor
  • read(char() array) - lê os caracteres do leitor e os armazena na matriz especificada
  • read(char() array, int start, int length) - lê o número de caracteres igual ao comprimento do leitor e armazena na matriz especificada a partir da posição inicial

Por exemplo, suponha que temos um arquivo denominado input.txt com o seguinte conteúdo.

 This is a line of text inside the file. 

Vamos tentar ler o arquivo usando BufferedReader.

 import java.io.FileReader; import java.io.BufferedReader; class Main ( public static void main(String() args) ( // Creates an array of character char() array = new char(100); try ( // Creates a FileReader FileReader file = new FileReader("input.txt"); // Creates a BufferedReader BufferedReader input = new BufferedReader(file); // Reads characters input.read(array); System.out.println("Data in the file: "); System.out.println(array); // Closes the reader input.close(); ) catch(Exception e) ( e.getStackTrace(); ) ) ) 

Resultado

 Dados no arquivo: Esta é uma linha de texto dentro do arquivo. 

No exemplo acima, criamos um leitor de buffer chamado input. O leitor armazenado em buffer está vinculado ao arquivo input.txt .

 FileReader file = new FileReader("input.txt"); BufferedReader input = new BufferedReader(file); 

Aqui, usamos o read()método para ler uma matriz de caracteres do buffer interno do leitor com buffer.

Método skip ()

Para descartar e pular o número especificado de caracteres, podemos usar o skip()método. Por exemplo,

 import java.io.FileReader; import java.io.BufferedReader; public class Main ( public static void main(String args()) ( // Creates an array of characters char() array = new char(100); try ( // Suppose, the input.txt file contains the following text // This is a line of text inside the file. FileReader file = new FileReader("input.txt"); // Creates a BufferedReader BufferedReader input = new BufferedReader(file); // Skips the 5 characters input.skip(5); // Reads the characters input.read(array); System.out.println("Data after skipping 5 characters:"); System.out.println(array); // closes the reader input.close(); ) catch (Exception e) ( e.getStackTrace(); ) ) ) 

Resultado

 Dados após pular 5 caracteres: é uma linha de texto dentro do arquivo. 

No exemplo acima, usamos o skip()método para pular 5 caracteres do leitor de arquivos. Assim, os personagens 'T', 'h', 'i', 's'e ' 'são ignorados a partir do arquivo original.

Método close ()

Para fechar o leitor com buffer, podemos usar o close()método. Depois que o close()método é chamado, não podemos usar o leitor para ler os dados.

Outros métodos de BufferedReader

Método Descrição
ready() verifica se o leitor de arquivos está pronto para ser lido
mark() marque a posição no leitor até a qual os dados foram lidos
reset() retorna o controle para o ponto no leitor onde a marca foi definida

Para saber mais, visite Java BufferedReader (documentação oficial do Java).

Artigos interessantes...