UNIDAD 5: JAVA REGISTROS Y ARCHIVOS SECUENCIALES

TEMA 5: GRABACION ARCHIVO SECUENCIAL JAVA


Grabación y lectura son los dos procesos mas comunes con archivos en cualquier lenguaje de programación.

Codigo de grabación:

Prog22.java

import java.lang.*;
import java.io.*;
class prog22 {
public static void main(String[] args) {
// crear un objeto de tipo archivo
DataOutputStream 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;
// creando objeto teclado
BufferedReader teclado = new BufferedReader(new InputStreamReader(System.in));
// abriendo archivo, capturando y grabando datos
try {
//* Creando y grabando a un archivo, esta larga la instrucción*/
archivo = new DataOutputStream( new FileOutputStream("c:\\pfacil\\archivo1.dat",true) );
System.out.println("dame clave: ");
clave = Integer.parseInt(teclado.readLine());
System.out.println("dame nombre: ");
nombre=teclado.readLine();
System.out.println("dame edad: ");
edad = Integer.parseInt(teclado.readLine());
//grabando al archivo
archivo.writeInt(clave);
archivo.writeUTF(nombre);
archivo.writeInt(edad);
archivo.close();
}
catch(FileNotFoundException fnfe) { /* Archivo no encontrado */ }
catch (IOException ioe) { /* Error al escribir */ }
} // cierra main
} // cierra clase

corrida:

image174.jpg

Se usa una clase llamada FileOutputStream, especializada en archivos con muchos metodos y constructores para crear, manipular y procesar archivos el constructor usado solo lleva dos parametros, el primero todo la ruta o path a donde quedara el archivo(cuidado con no poner la doble diagonal \\) y el segundo parametro es la palabra “true”, esto es para que el archivo se abra en modo llamado “APPEND”, es decir que cada nuevo registro se vaya escribiendo al final del archivo, si no se pone este parametro(true), un nuevo registro se sobreescribiria sobre el registro anterior.

Sin embargo en el programa no se uso solo FILEOUTPUSTREAM ( solo para crear el archivo), tambien se usa DATAOUTPUTSTREAM, esta segunda clase es derivada de la anterior y comparte muchos de sus metodos, la diferencia es que fileoutputstream esta especializada en grabar y leer bytes, mientras que dataoutputstream esta especializada en grabar y leer datos formateados, observar que los metodos que uso el objeto archivo para grabar o almecenar datos se especializan en algun tipo de dato en especial, sus otros metodos son:

Method Summary
“void” flush”()” Flushes this data output stream.
“int” size”()” Returns the current value of the counter “written”, the number of bytes written to this data output stream so far.
“void” write”(byte[] b, int off, int len)“
Writes “len” bytes from the specified byte array starting at offset “off” to the underlying output stream.
“void” write”(int b)” Writes the specified byte (the low eight bits of the argument “b”) to the underlying output stream.
“void” writeBoolean”(boolean v)” Writes a “boolean” to the underlying output stream as a 1-byte value.
“void” writeByte”(int v)“
Writes out a “byte” to the underlying output stream as a 1-byte value.
“void” WriteBytes (String s) Writes out the string to the underlying output stream as a sequence of bytes.
“void” writeChar”(int v)” Writes a “char” to the underlying output stream as a 2-byte value, high byte first.
“void” WriteChars (String s) writes a string to the underlying output stream as a sequence of characters.
“void” writeDouble”(double v)“
Converts the double argument to a “long” using the “doubleToLongBits” method in class “Double”, and then writes that “long” value to the underlying output stream as an 8-byte quantity, high byte first.
“void” writeFloat”(float v)” Converts the float argument to an “int” using the “floatToIntBits” method in class “Float”, and then writes that “int” value to the underlying output stream as a 4-byte quantity, high byte first.
“void” writeInt”(int v)“
Writes an “int” to the underlying output stream as four bytes, high byte first.
“void” writeLong”(long v)“
Writes a “long” to the underlying output stream as eight bytes, high byte first.
“void” writeShort”(int v)“
Writes a “short” to the underlying output stream as two bytes, high byte first.
“void” writeUTF (String str) writes a string to the underlying output stream using UTF-8 encoding in a machine-independent manner.

TABLA TOMADA DEL API DE JAVA

Observar que la grabación lleva un try-catch filenotfound y ioexception, que son obligatorios o no compila el programa.

No olvidar cerrar el archivo, con la instruccion archivo.close

TAREAS PROGRAMACION JAVA

1.- crear y cargar un archivo2.dat que contenga registros de empleados.

2.- crear y cargar un archivo3.dat que contenga registros de productos���Underlined Text

Politica de Privacidad