14.5.2 Cómo leer datos de un archivo de texto de acceso secuencial

Los datos se almacenan en archivos, para poder procesarlos según sea necesario. En la sección 14.5.1 demostramos 
cómo crear un archivo para acceso secuencial. Esta sección muestra cómo leer los datos secuencialmente desde un 
archivo de texto. En esta sección, demostraremos cómo puede utilizarse la clase 

Scanner

 para recibir datos de

un archivo, en vez del teclado.

La aplicación de las fi guras 14.11 y 14.12 lee registros del archivo 

"clientes.txt"

creado por la aplicación 

de la sección 14.5.1 y muestra el contenido de los registros. En la línea 13 de la fi gura 14.11 se declara un objeto 

Scanner

, que se utilizará para obtener los datos de entrada del archivo.

El método 

abrirArchivo

(líneas 16 a 27) abre el archivo en modo de lectura, creando una instancia de un 

objeto 

Scanner

 en la línea 20. Pasamos un objeto 

File

 al constructor, el cual especifi ca que el objeto 

Scanner

 

leerá datos del archivo 

"clientes.txt"

 ubicado en el directorio desde el que se ejecuta la aplicación. Si no puede 

encontrarse el archivo, ocurre una excepción tipo 

FileNotFoundException

. La excepción se maneja en las líneas 

22 a 26.

Figura 14.9

 |  Prueba de la clase 

CrearArchivoTexto

. (Parte 2 de 2).

Escriba el numero de cuenta (> 0), primer nombre, apellido paterno y saldo.
?

500 Sue Rich 224.62

Escriba el numero de cuenta (> 0), primer nombre, apellido paterno y saldo.
?

^Z

Figura 14.10

  |  Datos de ejemplo para el programa de la fi gura 14.7.

Datos de ejemplo

100

Bob

Jones

24.98

200

Steve Doe

-345.67

300

Pam

White

0.00

400

Sam

Stone

-42.16

500

Sue Rich

224.62

 1 

// Fig. 14.11: LeerArchivoTexto.java

2

// Este programa lee un archivo de texto y muestra cada registro.

3

import

 java.io.File;

 4 

import

 java.io.FileNotFoundException;

 5 

import

 java.lang.IllegalStateException;

 6 

import

 java.util.NoSuchElementException;

 7 

import

 java.util.Scanner;

 8
 9 

import

 com.deitel.jhtp7.cap14.RegistroCuenta;

 10 
 11 

public class

 LeerArchivoTexto

 12 

{

 13  

private

 Scanner entrada;

 14
 15  

// permite al usuario abrir el archivo

16

public void

 abrirArchivo()

 17  

{

 18  

 

try

Figura 14.11

  |  Lectura de un archivo secuencial mediante un objeto 

Scanner

. (Parte 1 de 2).

14.5 Archivos de texto de acceso secuencial 

623

14_MAQ_CAP_14_DEITEL.indd623

4/19/081:28:15AM