UNIDAD 5: REGISTROS Y ARCHIVOS SECUENCIALES

TEMA 6: LECTURA ARCHIVO SECUENCIAL


El proceso de lectura de los registros de un archivo secuencial es realmente sencillo, como lo muestra el siguiente codigo ejemplo;

Prog23.java:

import java.lang.*;
import java.io.*;
class prog23 {
public static void main(String[] args) {
// crear un objeto de tipo archivo
DataInputStream archivo = null;
// creando e inicializando los campos del registro
// observar que se debe usar clases numericas apropiadas
int clave=0;
String nombre=new String("");
int edad=0;
try{
//* abriendo archivo para lectura */
archivo = new DataInputStream( new FileInputStream("c:\\pfacil\\archivo1.dat") );
//leyendo archivo
while (true)
{
clave=archivo.readInt();
System.out.println(clave+" ");
nombre=archivo.readUTF();
System.out.println(nombre+" ");
edad=archivo.readInt();
System.out.println(edad+" ");
System.out.println('\n');
} }
catch(FileNotFoundException fnfe) { /* Archivo no encontrado */ }
catch (IOException ioe) { /* Error al escribir */ }
// cerrar archivo
archivo.close();
} // cierra main
} // cierra clase

Corrida:

image175.jpg

Notas:

Observar en codigo que ahora se usan FILEINPUTSTREAM Y DATAINPUTSTREAM como clases.

En fileinputstream solo se uso el parametro de abrir archivo(no el true de append) comoya se menciono estas clases se especializan en archivos secuenciales.

El ciclo de lectura se realiza con un while(true)

los metodos de DATAINPUTSTREAM SON:

Method Summary
“int” read”(byte[] b)“
See the general contract of the “read” method of “DataInput”.
“int” read”(byte[] b, int off, int len)“
See the general contract of the “read” method of “DataInput”.
“boolean” readBoolean”()“
See the general contract of the “readBoolean” method of “DataInput”.
“byte” readByte”()“
See the general contract of the “readByte” method of “DataInput”.
“char” readChar”()“
See the general contract of the “readChar” method of “DataInput”.
“double” readDouble”()“
See the general contract of the “readDouble” method of “DataInput”.
“float” readFloat”()“
See the general contract of the “readFloat” method of “DataInput”.
“void” readFully”(byte[] b)“
See the general contract of the “readFully” method of “DataInput”.
“void” readFully”(byte[] b, int off, int len)“
See the general contract of the “readFully” method of “DataInput”.
“int” readInt”()“
See the general contract of the “readInt” method of “DataInput”.
String

with: BufferedReader d

           = new BufferedReader(new InputStreamReader(in)); |

| “long” | readLong”()“
See the general contract of the “readLong” method of “DataInput”. |

“short” readShort”()“
See the general contract of the “readShort” method of “DataInput”.
“int” readUnsignedByte”()“
See the general contract of the “readUnsignedByte” method of “DataInput”.
“int” readUnsignedShort”()“
See the general contract of the “readUnsignedShort” method of “DataInput”.
String readUTF”()“
See the general contract of the “readUTF” method of “DataInput”.
“static” String readUTF”(“DataInput “in)“
Reads from the stream “in” a representation of a Unicode character string encoded in Java modified UTF-8 format; this string of characters is then returned as a “String”.
“int” skipBytes”(int n)“
See the general contract of the “skipBytes” method of “DataInput”.

TAREAS PROGRAMACION JAVA

1.- Leer y desplegar los archivos creados en el tema anterior.

Politica de Privacidad