En las líneas 59 a 62 se leen datos del usuario y se almacena la información del registro en el objeto
Regis-
troCuenta
. Cada instrucción lanza una excepción tipo
NoSuchElementException
(que se maneja en las líneas
82 a 86) si los datos se encuentran en el formato incorrecto (por ejemplo, una cadena cuando se espera un
int
), o
si no hay más datos que introducir. Si el número de cuenta es mayor que 0 (línea 64), la información del registro
60
registro.establecerPrimerNombre( entrada.next() );
// lee el primer nombre
61
registro.establecerApellidoPaterno( entrada.next() );
// lee el apellido
paterno
62
registro.establecerSaldo( entrada.nextDouble() );
// lee el saldo
63
64
if
( registro.obtenerCuenta() >
0
)
65
{
66
// escribe el nuevo registro
67
salida.format(
"%d %s %s %.2f\n"
, registro.obtenerCuenta(),
68
registro.obtenerPrimerNombre(), registro.obtenerApellidoPaterno(),
69
registro.obtenerSaldo() );
70
}
// fin de if
71
else
72
{
73
System.out.println(
74
"El numero de cuenta debe ser mayor que 0."
);
75
}
// fin de else
76
}
// fin de try
77
catch
( FormatterClosedException formatterClosedException )
78
{
79
System.err.println(
"Error al escribir en el archivo."
);
80
return
;
81
}
// fin de catch
82
catch
( NoSuchElementException elementException )
83
{
84
System.err.println(
"Entrada invalida. Intente de nuevo."
);
85
entrada.nextLine();
// descarta la entrada para que el usuario intente de
nuevo
86
}
// fin de catch
87
88
System.out.printf(
"%s %s\n%s"
,
"Escriba el numero de cuenta (> 0),"
,
89
"primer nombre, apellido paterno y saldo."
,
"? "
);
90
}
// fin de while
91
}
// fin del método agregarRegistros
92
93
// cierra el file
94
public void
cerrarArchivo()
95
{
96
if
( salida !=
null
)
97
salida.close();
98
}
// fin del método cerrarArchivo
99
}
// fin de la clase CrearArchivoTexto
Figura 14.7
| Creación de un archivo de texto secuencial. (Parte 2 de 2).
Sistema operativo
Combinación de teclas
UNIX/Linux/Mac OS X
<Intro> <Ctrl> d
Windows
<Ctrl> z
Figura 14.8
| Combinaciones de teclas de fi n de
archivo para diversos sistemas operativos.
14.5 Archivos de texto de acceso secuencial
621
14_MAQ_CAP_14_DEITEL.indd621
4/19/081:28:14AM