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

Manual Básico 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 Fila (Queue)

Java Conjunto Map

Java Conjunto Set

Java Entrada e Saída (I)/)

Java Reader/Writer

Outros tópicos do Java

Java FileReader Class

Neste tutorial, vamos aprender sobre o Java FileReader e seus métodos com a ajuda de exemplos.

A classe FileReader do pacote java.io pode ser usada para ler dados do arquivo (em unidades de caractere).

ele herda a classe InputSreamReader.

Antes de aprender sobre FileReader, certifique-se de que você entendaJava File.

Criar um FileReader

Para criar um leitor de arquivo,我们必须 primeiro importar o pacote java.io.FileReader. Após a importação do pacote, aqui está o método para criar o leitor de arquivo.

1.Usando o nome do arquivo

FileReader input = new FileReader(String name);

Aqui, criamos um leitor de arquivo que se conectará ao nome do arquivo especificado.

2.Usando o objeto do arquivo

FileReader input = new FileReader(File fileObj);

Aqui, criamos um leitor de arquivo que se conectará ao arquivo especificado pelo objeto do arquivo.

No exemplo acima, os dados do arquivo são armazenados usando uma codificação de caracteres padrão.

mas, devido ao Java 11também podemos especificar o tipo de codificação de caracteres do arquivo (UTF-8ouUTF-16)

FileReader input = new FileReader(String file, Charset cs);

Aqui, usamos a classe Charset para especificar a codificação de caracteres do leitor de arquivo.

Métodos do FileReader

A classe FileReader fornece implementações de diferentes métodos existentes na classe Reader.

Método read()

  • read() - Ler um caractere do leitor

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

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

Por exemplo, 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 o leitor de arquivo FileReader.

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

Output Result

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

No exemplo acima, criamos um leitor de arquivo chamado input. O leitor de arquivo está ligado ao arquivoinput.txtligação.

FileInputStream input = new FileInputStream("input.txt");

Para ler dados do arquivo, usamos o método read().

método getEncoding()

O método getEncoding() pode ser usado para obter o tipo de código de caracteres utilizado para armazenar dados no arquivo. Por exemplo,

import java.io.FileReader;
import java.nio.charset.Charset;
class Main {
  public static void main(String[] args) {
    try {
      //cria um FileReader com código de caracteres padrão
      FileReader input1 = new FileReader("input.txt");
      //cria um FileReader com especificação de código de caracteres
      FileReader input2 = new FileReader("input.txt", Charset.forName("UTF8"));
      //retorna o código de caracteres do leitor de arquivo
      System.out.println("input1do código de caracteres: " + input1.getEncoding());
      System.out.println("input2do código de caracteres: " + input2.getEncoding());
      //fechar reader
      input1.close();
      input2.close();
    }
    catch(Exception e) {
      e.getStackTrace();
    }
  }
}

Output Result

input1Character Encoding: Cp1252
input2Character Encoding: UTF8

In the above example, we created2a file reader, named input1and input2.

  • input1No character encoding specified. Therefore, the getEncoding() method returns the default character encoding.

  • input2Specify Character EncodingUTF8. Therefore, the getEncoding() method returns the specified character encoding.

Note: We have specified the type of character encoding using the Charset.forName() method.

close() method

To close the file reader, we can use the close() method. After calling the close() method, we will not be able to use the reader to read data.

Other methods of FileReader

MethodDescription
ready()Check if the file reader is ready to read
mark()Mark the position of the data read in the file reader
reset()Reset the reader to return to the position of the mark set in the reader