UNIDAD 6: PROGRAMACION JAVA REGISTROS Y ARCHIVOS DIRECTOS

TEMA 7: OPERACIONES CON CAMPOS JAVA PROGRAMACION


En este tema se analiza la manera de poder realizar operaciones o procesos con los campos de los registros en el archivo directo, lo unico importante a considerar es que los campos del registro son en cierta medida igual que variables normales y por tanto se pueden proceesar de manera normal como lo muestra el ejemplo.

prog34.java


import java.lang.*;

import java.io.*;

class prog34 {

public static void main(String[] args) {

// creando e inicializando los campos del registro

// observar que se debe usar clases numericas apropiadas

int clave=0;

String nombre="";

int edad=0;

long tregistro=58;

long cregistros=0;

// abriendo archivo, leyendo

try {

File arch=new File("c:\\ajava\\archivo2.dat");

RandomAccessFile archivo=new RandomAccessFile(arch,"rw");

//calulando cantidad de registros

cregistros=archivo.length() /tregistro;

for (int r=0; r < cregistros; r++)

{

// leyendo registro

clave=archivo.readInt();

//leyendo string

for(int i = 0; i < 25; ++i)

{ nombre += archivo.readChar(); };

edad=archivo.readInt();

//sumando edad + 50

edad=edad+50;

//regresando apuntador y regrabando con cambio

archivo.seek( archivo.getFilePointer() -tregistro);

archivo.writeInt(clave);

archivo.writeChars(nombre);

archivo.writeInt(edad);

nombre="";

};

archivo.close();

} catch(FileNotFoundException fnfe) { }

catch (IOException ioe) { }

// avisando

System.out.println("YA TERMINE DE SUMAR");

} // cierra main

} // cierra clase

corrida prog33

image192.jpg

como se observa la solución es muy sencilla solo se ocupa:

1.- leer fread() el registro, esto mueve el apuntador al siguiente registro.

2.- modificar registro

3.- regresar a posición anterior con seek()

4.- grabar el registro corregido

y no se ocupan los dos archivos como en el caso secuencial.

TAREAS PROGRAMACION JAVA

CONSTRUIRLES PROGRAMAS QUE PROCESEN ALGUNOS CAMPOS DE LOS ARCHIVOS EJEMPLOS QUE YA TIENEN CONSTRUIDOS.

 




Google
 
Recent changes RSS feed Creative Commons License Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki
Politica de Privacidad