English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
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.
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.
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.
A classe BufferedReader fornece implementações para diferentes métodos do Reader.
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.
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.
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.
Método | Descriçã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 |