Leitor Java (com exemplo)

Neste tutorial, aprenderemos sobre o Java Reader, suas subclasses e seus métodos com a ajuda de um exemplo.

A Readerclasse do java.iopacote é uma superclasse abstrata que representa um fluxo de caracteres.

Por Readerser uma classe abstrata, não é útil por si só. No entanto, suas subclasses podem ser usadas para ler dados.

Subclasses de Reader

Para usar a funcionalidade de Reader, podemos usar suas subclasses. Alguns deles são:

  • BufferedReader
  • InputStreamReader
  • FileReader
  • StringReader

Aprenderemos sobre todas essas subclasses no próximo tutorial.

Crie um leitor

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

 // Creates a Reader Reader input = new FileReader(); 

Aqui, criamos um leitor usando a FileReaderclasse. É porque Readeré uma classe abstrata. Portanto, não podemos criar um objeto de Reader.

Nota : Também podemos criar leitores de outras subclasses de Reader.

Métodos de Leitor

A Readerclasse fornece métodos diferentes que são implementados por suas subclasses. Aqui estão alguns dos métodos comumente usados:

  • ready() - verifica se o leitor está pronto para ser lido
  • read(char() array) - lê os caracteres do fluxo e os armazena na matriz especificada
  • read(char() array, int start, int length) - lê o número de caracteres igual ao comprimento do fluxo e armazena na matriz especificada a partir do início
  • mark() - marca a posição no fluxo até a qual os dados foram lidos
  • reset() - retorna o controle para o ponto no riacho onde a marca está definida
  • skip() - descarta o número especificado de caracteres do fluxo

Exemplo: Reader usando FileReader

Aqui está como podemos implementar Readerusando a FileReaderclasse.

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 este arquivo usando FileReader(uma subclasse de Reader).

 import java.io.Reader; import java.io.FileReader; class Main ( public static void main(String() args) ( // Creates an array of character char() array = new char(100); try ( // Creates a reader using the FileReader Reader input = new FileReader("input.txt"); // Checks if reader is ready System.out.println("Is there data in the stream? " + input.ready()); // Reads characters input.read(array); System.out.println("Data in the stream:"); System.out.println(array); // Closes the reader input.close(); ) catch(Exception e) ( e.getStackTrace(); ) ) ) 

Resultado

Existem dados no stream? true Dados no fluxo: Esta é uma linha de texto dentro do arquivo.

No exemplo acima, criamos um leitor usando a FileReaderclasse. O leitor está vinculado ao arquivo input.txt .

 Reader input = new FileReader("input.txt"); 

Para ler os dados do arquivo input.txt , implementamos esses métodos.

 input.read(); // to read data from the reader input.close(); // to close the reader 

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

Artigos interessantes...