Bóson Treinamentos em Ciência e Tecnologia

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

Como abrir e ler arquivos de texto 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:

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

 

Sair da versão mobile