English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Neste tutorial, vamos entender o Java Reader, suas subclasses e seus métodos por meio de um exemplo.
A classe Reader no pacote java.io é uma superclasse abstrata, representando fluxos de caracteres.
Como Reader é uma classe abstrata, ela não funciona sozinha. No entanto, suas subclasses podem ser usadas para ler dados.
Para usar as funcionalidades de Reader, podemos usar suas subclasses. Alguns deles são:
No próximo tutorial, vamos aprender todas essas subclasses.
Para criar um Reader, devemos primeiro importar o pacote java.io.Reader. Após a importação do pacote, podemos criar um Reader.
// Criar Reader Reader input = new FileReader();
Aqui, usamos a classe FileReader para criar um Reader. Isso é porque Reader é uma classe abstrata. Portanto, não podemos criar um objeto Reader.
Atenção:Também podemos criar Reader a partir de outras subclasses de Reader.
Este método Reader é implementado de maneira diferente pelas suas subclasses. Aqui estão alguns métodos comuns:
ready(); - Verificar se o Reader está pronto para leitura
read(char[] array) - Ler caracteres do fluxo e armazená-los no array especificado
read(char[] array, int start, int length)- Ler um número de caracteres igual ao comprimento do array e armazenar a partir do início no array especificado
mark(); - Marcar o local dos dados lidos no fluxo
reset(); - Redefinir o fluxo. Se o fluxo já estiver marcado, tente marcá-lo novamente para relocalizar. Se o fluxo não estiver marcado, tente redefinir-no em um ponto adequado específico de alguns métodos de fluxo específicos, por exemplo, relocalizando-o para o ponto de início.
skip(); -Descartar um número especificado de caracteres do fluxo
Aqui está como usamos a classe FileReader para implementar métodos do Reader.
Suponha que tenhamos um arquivo chamadoinput.txtdo arquivo, que contém o seguinte conteúdo.
Esta é uma linha de texto dentro do arquivo.
Vamos tentar usar FileReader (subclasse de Reader) para ler este arquivo.
import java.io.Reader; import java.io.FileReader; class Main { public static void main(String[] args) { // Criar um array de caracteres char[] array = new char[100]; try { //Usar FileReader para criar Reader Reader input = new FileReader("input.txt"); //Verificar se o Reader está pronto System.out.println("Há dados no fluxo? " + input.ready()); //Ler caractere input.read(array); System.out.println("Os dados no fluxo:"); System.out.println(array); // Fechar reader input.close(); } catch(Exception e) { e.getStackTrace(); } } }
Resultado da saída
Há dados no fluxo? true Dado no fluxo: Esta é uma linha de texto dentro do arquivo.
No exemplo acima, usamos a classe FileReader para criar um leitor. O Reader está ligado ao arquivoinput.txtligação.
Reader input = new FileReader("input.txt");
Para lerinput.txtLeitura de dados do arquivo, já implementamos esses métodos.
input.read(); //Ler dados do reader input.close(); //Fechar reader