Leia um arquivo de texto em Java

Mohd Ebad Naqvi 12 outubro 2023
  1. Use a classe Scanner para ler arquivos em Java
  2. Use a classe BufferedReader para ler arquivos em Java
  3. Use a classe FileReader para ler arquivos em Java
Leia um arquivo de texto em Java

Em quase todos os aplicativos, lidamos com leitura e escrita de texto, por isso é essencial aprender sobre isso. Existem vários métodos para ler um arquivo de texto simples em Java.

No tutorial, aprenderemos como ler um arquivo de texto em Java.

Use a classe Scanner para ler arquivos em Java

A classe Scanner pode ler arquivos em Java. Primeiro, é criado um objeto File que representa o caminho do arquivo necessário. O objeto da classe Scanner é criado passando o objeto File acima.

A função hasNext() verifica se outra linha existe em um arquivo e a função nextLine() lê a linha fornecida.

Veja o código abaixo.

import java.io.File;
import java.util.Scanner;
public class ScannerClassDemo {
  public static void main(String[] args) throws Exception {
    File doc = new File("C:\\Drive\\Learn.txt");
    Scanner obj = new Scanner(doc);

    while (obj.hasNextLine()) System.out.println(obj.nextLine());
  }
}

Resultado:

File Reading Example

Uma exceção FileNotFound é lançada se o arquivo fornecido não existir.

Também podemos fazer isso criando o objeto da classe InputStream e depois passando-o pela classe Scanner.

Por exemplo,

import java.io.FileInputStream;
import java.io.InputStream;
import java.util.Scanner;
public class ScannerClassDemo {
  public static void main(String args[]) throws Exception {
    InputStream ins = new FileInputStream("C:\\Drive\\Learn.txt");
    Scanner obj = new Scanner(ins);
    while (obj.hasNextLine()) System.out.println(obj.nextLine());
  }
}

Resultado:

File Reading Example

A vantagem de usar esse método é que ele oferece capacidade de análise.

Use a classe BufferedReader para ler arquivos em Java

BufferedReader lê o texto de um fluxo de entrada baseado em caracteres. O armazenamento em buffer é feito para a leitura eficiente de arrayes, linhas e caracteres. Se o tamanho do buffer não for especificado, o tamanho padrão é usado, que é grande o suficiente para o uso. Podemos usá-lo para ler arquivos em Java.

BufferedReader fornece leitura rápida através do armazenamento em buffer de dados.

No exemplo a seguir, lemos o texto de um arquivo em algum caminho especificado.

import java.io.*;
public class ReadingTextusingBufferedReader {
  public static void main(String[] args) throws Exception {
    File doc = new File("C:\\Drive\\Learn.txt");

    BufferedReader obj = new BufferedReader(new FileReader(doc));

    String strng;
    while ((strng = obj.readLine()) != null) System.out.println(strng);
  }
}

Resultado:

File Reading Example

Use a classe FileReader para ler arquivos em Java

A classe FileReader oferece uma maneira conveniente de ler texto simples em java. Nesta classe, o método do construtor usa o tamanho do buffer de bytes padrão e a codificação de caracteres padrão conforme mais apropriado.

Podemos usá-lo para ler arquivos em Java, conforme mostrado a seguir.

import java.io.*;
public class ReadingTextFile {
  public static void main(String args[]) throws IOException {
    File doc = new File("Demo.txt");
    doc.createNewFile();
    FileReader freader = new FileReader(doc);
    char[] i = new char[100];
    freader.read(i);
    for (char j : i) System.out.print(j);
    freader.close();
  }
}

Resultado:

File Reading Example

A função createNewFile() cria um novo arquivo vazio. Após a chamada da função, se o arquivo não existir, ele retornará True e criará um arquivo vazio com um nome especificado.

Artigo relacionado - Java File