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.

Politica de Privacidad