English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Tutoriais Básicos de Java

Controle de fluxo Java

Java Array

Java Orientação a Objetos (I)

Java Orientação a Objetos (II)

Java Orientação a Objetos (III)

Tratamento de Exceções Java

Java Lista (List)

Java Queue (fila)

conjuntos Java Map

conjuntos Java Set

Java Entrada e Saída (I)/O)

Reader Java/Writer

temas Java

Classe BufferedReader do Java

Neste tutorial, vamos aprender o BufferedReader do Java e seus métodos através de exemplos.

A classe BufferedReader do pacote java.io pode ser usada com outros leitores para ler dados de forma mais eficiente (em caracteres).

ele herda a classe abstrata Reader.

como o BufferedReader funciona

BufferedReader mantém um buffer internodo8192um buffer de caracteres

Durante a operação de leitura no BufferedReader, parte dos caracteres será lida do disco e armazenada no buffer interno. E os caracteres são lidos separadamente do buffer interno.

Portanto, reduz o número de comunicações com o disco. Isso é a razão pela qual o BufferedReader pode ler caracteres mais rapidamente.

Cria um BufferedReader

Para criar um BufferedReader,我们必须首先导入 o pacote java.io.BuferedReader. Após importar o pacote, podemos criar o leitor.

//Cria um FileReader
FileReader file = new FileReader(String file);
//Cria um BufferedReader
BufferedReader buffer = new BufferedReader(file);

No exemplo acima, criamos um BufferedReader chamado buffer e um FileReader chamado file.

Aqui, o tamanho padrão do buffer interno do BufferedReader é8192caracteres. Mas, também podemos especificar o tamanho do buffer interno.

//Cria um BufferedReader com um buffer interno de tamanho especificado
BufferedReader buffer = new BufferedReader(file, int size);

O buffer ajudará a ler caracteres do arquivo mais rapidamente.

métodos do BufferedReader

A classe BufferedReader fornece implementações para diferentes métodos do Reader.

método read()

  • read() - ler um caractere do buffer do leitor

  • read(char[] array) - ler caracteres do leitor e armazená-los no array especificado

  • read(char[] array, int start, int length)- ler o número de caracteres igual a length a partir do leitor e armazenar no array especificado a partir da posição start

Por exemplo, suponha que tenhamos um arquivoinput.txtcontendo o seguinte conteúdo.

Esta é uma linha de texto dentro do arquivo.

Vamos tentar usar BufferedReader para ler o arquivo.

import java.io.FileReader;
import java.io.BufferedReader;
class Main {
  public static void main(String[] args) {
    //criar um array de caracteres
    char[] array = new char[100];
    try {
      //criar FileReader
      FileReader file = new FileReader("input.txt");
      //criar BufferedReader
      BufferedReader input = new BufferedReader(file);
      //ler caractere
      input.read(array);
      System.out.println("Dados do arquivo: ");
      System.out.println(array);
      //Fechar reader
      input.close();
    }
    catch(Exception e) {
      e.getStackTrace();
    }
  }
}

Resultados de Saída

dados do arquivo:
Esta é uma linha de texto dentro do arquivo.

No exemplo acima, criamos um leitor de buffer chamado input. O leitor de buffer cominput.txtligação de arquivo.

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

Aqui, usamos o método read() para ler um array de caracteres do buffer do leitor.

método skip()

Para descartar e pular um número específico de caracteres, você pode usar o método skip(). Por exemplo

import java.io.FileReader;
import java.io.BufferedReader;
public class Main {
  public static void main(String args[]) {
    //criar um array de caracteres
    char[] array = new char[100];
    try {
      //Suponha que o arquivo input.txt contenha o seguinte texto
      //Esta é uma linha de texto dentro do arquivo.
      FileReader file = new FileReader("input.txt");
      //criar BufferedReader
      BufferedReader input = new BufferedReader(file);
      //Pular5caracteres
      input.skip(5);
      //ler caractere
      input.read(array);
      System.out.println("Pular"}5caracteres após os dados: ");
      System.out.println(array);
      //Fechar reader
      input.close();
    }
    catch (Exception e) {
      e.getStackTrace();
    }
  }
}

Resultados de Saída

Pular5caracteres após os dados:
é uma linha de texto dentro do arquivo.

No exemplo acima, usamos o método skip() para pular dados do leitor de arquivo5caracteres. Portanto, os caracteres 'T', 'h', 'i', 's' e ' ' são pulados do arquivo original.

Método close()

Para fechar o leitor em buffer, podemos usar o método close(). Após a chamada do método close(), não poderemos usar o leitor para ler dados.

Outros métodos do BufferedReader

MétodoDescrição
ready()Verificar se o leitor de arquivo está pronto para leitura
mark()Localização dos dados lidos no leitor de marcações
reset()Restabelecer o marcador, retornar ao local marcado no leitor