Classe Java FileReader
Classe Java FileReader
Neste tutorial, aprenderemos sobre o Java FileReader e seus métodos com a ajuda de exemplos.
O FileReader
classe do java.io
pacote pode ser usado para ler dados (em caracteres) de arquivos.
Ele estende o InputSreamReader
classe.
Antes de aprender sobre FileReader
, certifique-se de conhecer o Arquivo Java.
Criar um FileReader
Para criar um leitor de arquivos, devemos importar o
java.io.FileReader
pacote primeiro. Depois de importar o pacote, aqui está como podemos criar o leitor de arquivos. 1. Usando o nome do arquivo
FileReader input = new FileReader(String name);
Aqui, criamos um leitor de arquivos que será vinculado ao arquivo especificado pelo nome .
2. Usando um objeto do arquivo
FileReader input = new FileReader(File fileObj);
Aqui, criamos um leitor de arquivos que será vinculado ao arquivo especificado pelo objeto do arquivo.
No exemplo acima, os dados no arquivo são armazenados usando alguma codificação de caracteres padrão.
No entanto, desde o Java 11, podemos especificar o tipo de codificação de caracteres (UTF-8 ou UTF-16 ) no arquivo também.
FileReader input = new FileReader(String file, Charset cs);
Aqui, usamos o
Charset
class para especificar a codificação de caracteres do leitor de arquivos. Métodos do FileReader
O
FileReader
classe fornece implementações para diferentes métodos presentes no Reader
classe. Método read()
read()
- lê um único caractere do leitorread(char[] array)
- lê os caracteres do leitor e armazena no array especificadoread(char[] array, int start, int length)
- lê o número de caracteres igual a comprimento do leitor e armazena no array especificado a partir da posição start
Por exemplo, suponha que temos um arquivo chamado input.txt com o seguinte conteúdo.
This is a line of text inside the file.
Vamos tentar ler o arquivo usando
FileReader
.
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
FileReader input = new FileReader("input.txt");
// Reads characters
input.read(array);
System.out.println("Data in the file: ");
System.out.println(array);
// Closes the reader
input.close();
}
catch(Exception e) {
e.getStackTrace();
}
}
}
Saída
Data in the file: This is a line of text inside the file.
No exemplo acima, criamos um leitor de arquivos chamado input . O leitor de arquivos está vinculado ao arquivo input.txt .
FileInputStream input = new FileInputStream("input.txt");
Para ler os dados do arquivo, usamos o
read()
método. Observação :O arquivo input.txt deve estar presente no diretório de trabalho atual.
Método getEncoding()
O
getEncoding()
pode ser usado para obter o tipo de codificação usado 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 {
// Creates a FileReader with default encoding
FileReader input1 = new FileReader("input.txt");
// Creates a FileReader specifying the encoding
FileReader input2 = new FileReader("input.txt", Charset.forName("UTF8"));
// Returns the character encoding of the file reader
System.out.println("Character encoding of input1: " + input1.getEncoding());
System.out.println("Character encoding of input2: " + input2.getEncoding());
// Closes the reader
input1.close();
input2.close();
}
catch(Exception e) {
e.getStackTrace();
}
}
}
Saída
The character encoding of input1: Cp1252 The character encoding of input2: UTF8
No exemplo acima, criamos 2 leitores de arquivos chamados input1 e entrada2 .
- entrada1 não especifica a codificação de caracteres. Daí o
getEncoding()
retorna a codificação de caracteres padrão. - entrada2 especifica a codificação de caracteres, UTF8 . Daí o
getEncoding()
retorna a codificação de caracteres especificada.
Observação :Usamos o
Charset.forName()
método para especificar o tipo de codificação de caracteres. Para saber mais, visite Java Charset (documentação oficial do Java). método close()
Para fechar o leitor de arquivos, podemos usar o
close()
método. Uma vez que o close()
é chamado, não podemos usar o leitor para ler os dados. Outros métodos do FileReader
Método | Descrição |
---|---|
ready() | verifica se o leitor de arquivos está pronto para ser lido |
mark() | marcar a posição no leitor de arquivos até a qual os dados foram lidos |
reset() | retorna o controle ao ponto no leitor onde a marca foi definida |
Para saber mais, visite Java FileReader (documentação oficial do Java).
Java