26 agosto, 2007

JAFramework

.
Recorrer un Archivo

En este ejemplo utilizamos JAF para recorrer y mostrar todos los registros del archivo EMPLEADOS.txt.

LeeArchivoCompleto.java
   1:
2:package demo;
3:
4:import framework.JAFactory;
5:import framework.JAFile;
6:import framework.JAFileFactory;
7:
8:public class LeeArchivoCompleto
9:{
10: public static void main(String[] args)
11: {
12: JAFileFactory factory = JAFactory
13: .getFileFactory();
14:
15: // levanto el descriptor a memoria
16: factory.load("descriptor.xml");
17:
18: // obtengo un puntero al archivo EMPLEADOS.txt
19: JAFile a = factory.getFile("EMPLEADOS.txt");
20:
21: // reseteo el archivo
22: a.reset();
23:
24: // creo una instancia del bean Empleado
25: REmpleado e = new REmpleado();
26:
27: // leo el primer registro
28: boolean eof = a.read(e);
29:
30: while( !eof )
31: {
32: // el toString esta sobreescrito
33: // en la clase JARecord
34: System.out.println(e);
35:
36: eof = a.read(e);
37: }
38:
39: // cierro el archivo
40: a.close();
41: }
42:}
43:

En la línea 16 levantamos a memoria la configuración definida en el descriptor. Luego de esto podemos pedirle a JAF objetos JAFile instanciados con la información relacionada al archivo con el que vamos a trabajar (línea 19).

Al igual que en Pascal tenemos el método reset (línea 22) con el que posicionamos el puntero al inicio del archivo (aunque como recién lo abrimos, no es necesario aplicarlo en este caso).

En la línea 25 instanciamos un REmpleado y luego comenzamos a leer el archivo (línea 28). El método read lee un registro, carga los valores leidos en los atributos del registro y retorna true o false según si hay un registro más para leer. Es decir: retorna true si llegó el eof (end of file) o false si aún no llegó, por lo tanto podemos recorrer todo el archivo con un while( !eof ) como vemos en la línea 30.

Dentro del while simplemente mostramos el contenido del registro y leemos el registro siguiente. La clase JARecord sobreescribe el método toString de forma tal que el System.out.println puede mostrar todos los atributos (con sus correspondientes valores) del registro.

En la línea 40 cerramos el archivo con el método close.




.........................,...................



.

No hay comentarios.: