Como abrir e ler arquivos de texto de acesso sequencial em Java

Como abrir e ler arquivos de texto de acesso sequencial em Java

Na lição passada vimos como criar e editar arquivos de texto de acesso sequencial em Java. Agora vamos mostrar como abrir e ler esses arquivos. Usaremos o arquivo criado anteriormente, arquivo.txt, no exemplo.

Note que vamos trabalhar com um arquivo cujo local de armazenamento no disco já é conhecido previamente, por isso o caminho do arquivo é hard-coded. Nas lições futuras mostraremos como escolher arquivos em locais aleatórios para leitura e edição.

O exemplo que usaremos foi adaptado de Deitel – Java How to Program, 10ª edição. A seguir, temos o código completo da aplicação.

Código

import java.io.IOException;
import java.lang.IllegalStateException;
import java.util.NoSuchElementException;
import java.util.Scanner;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
public class LerArquivoTexto
{
  private static Scanner entrada;
// programa principal
  public static void main(String[] args) {
    abrirArquivo();
    lerDados();
    fecharArquivo();
}
// Método para abrir o arquivo arquivo.txt
  public static void abrirArquivo() {
    try {
      entrada = new Scanner(Paths.get("c:\\Java\\arquivo.txt")); // Abrir o arquivo, salvo em C:\Java\
    }
    catch (IOException erroES) {
      System.err.println("Erro ao abrir o arquivo. Finalizando.");
      System.exit(1); // terminar o programa
    }
  }
// Método para ler os registros do arquivo
  public static void lerDados() {
    System.out.printf("%-10s%-15s%n","Código","Produto");
    try {
      while (entrada.hasNext()) { // enquanto houver dados para ler, mostrar os registros
        System.out.printf("%-10d%-12s%n",entrada.nextInt(),entrada.next());
      }
    }
    catch (NoSuchElementException erroElemento) {
      System.err.println("Arquivo com problemas. Finalizando.");
      entrada.nextLine(); // Descartar a entrada para que o usuário possa tentar de novo
    }
    catch (IllegalStateException erroEstado) {
      System.err.println("Erro ao ler o arquivo. Finalizando.");
    }
  } // fim do método lerDados
// Método para fechar o arquivo aberto
  public static void fecharArquivo() {
    if (entrada != null)
      entrada.close();
  }
} // Fim da classe LerArquivoTexto

Ao abrir o arquivo arquivo.txt usando o programa acima, vemos na tela o seguinte resultado:

Ler arquivo de texto com Java

Note que no programa principal executamos apenas três métodos: abrirArquivo, lerDados e fecharArquivo, para realizar as operações correspondentes. Todo o processamento é executado dentro desses métodos.

Anterior: Criar e editar arquivos de texto de acesso sequencial em Java

 

Sobre Fábio dos Reis (1349 Artigos)
Fábio dos Reis trabalha com tecnologias variadas há mais de 25 anos, tendo atuado nos campos de Eletrônica, Telecomunicações, Programação de Computadores e Redes de Dados. É um entusiasta de Unix, Linux e Open Source em geral, adora Eletrônica e Música, e estuda idiomas, além de ministrar cursos e palestras sobre diversas tecnologias em São Paulo e outras cidades do Brasil.
Contato: Website

2 Comentários em Como abrir e ler arquivos de texto de acesso sequencial em Java

  1. joao macedo macedo // 02/06/2020 em 20:27 // Responder

    Muito Bom as aulas em vídeo em java!!!!!!

Escreva um comentário

Seu e-mail não será divulgado


*