UNIDAD 5: JAVA JSP REGISTROS Y ARCHIVOS SECUENCIALES

TEMA 9: JAVA JSP BAJA O ELIMINACION ARCHIVO SECUENCIAL

Eliminar o dar de baja en un archivo secuencial, implica tener que estar procesando dos archivos a la vez, el segundo de ellos es un archivo temporal, un algoritmo de eliminacion fisica quedaria como:

Procedimiento :

1.- Abrir el archivo original en modo letcura.

2.- Abrir un archivo llamado temporal en modo escritura.

3.- Iniciar un ciclo de lectura del archivo original.

3a.- Dentro del ciclo leer el primer registro.

3b.- Validar el registro si no es eliminable, se escribe al

archivo temporal.

3c.- Fin de ciclo (cerrar el ciclo).

4.- Cerrar ambos archivos.

5.- eliminar el archivo original.

6.- renombrar el archivo temporal con el nombre de archivo original.

Una segunda tecnica, consiste en agregar un campo de estado (status) al registro, tal como se vio en el curso anterior:

Sin embargo el proceso de baja se tiene que realizar en un sistema de información, para resolver este problema la respuesta es agregar un campo especial llamado status que puede ser de tipo char, con algunos caracteres de control que se puedan cargar en el por ejemplo una 'a' siginifica que esta en alta, una 'b' significa que esta en baja, etc.

Lo unico que se tiene que hacer, es que cuando se agrega o manda el registro por primera vez a disco, mandarlo cargado el campo de status con 'a' y estar validando con if siempre este campo en cualquier proceso de busqueda o condicion o despliegue, si se encuentra cargado con 'b' entonces solo avisar al usuario que esta de baja dicho registro.”

A continuación damos un ejemplo de eliminación fisica:

Prog21 jsp

<%@ page import="java.io.*" %>
<%
// declarando
int clave=0;int claveb=0;String nombre=""; float estatura=0;
// creando un objeto de tipo archivo
DataInputStream archivo = null;
DataOutputStream archivot = null;
if(request.getParameter("ELIMINAR") != null)
{
// capturando clave a eliminar
claveb=Integer.parseInt(request.getParameter("CLAVEB"));
try {
// abriendo archivos
archivo = new DataInputStream(new FileInputStream("c:\\archivo1.dat"));
archivot = new DataOutputStream(new FileOutputStream("c:\\temp.dat",true));
while(true){
clave=archivo.readInt();
nombre=archivo.readUTF();
estatura=archivo.readFloat();
if (claveb!=clave){
archivot.writeInt(clave);
archivot.writeUTF(nombre);
archivot.writeFloat(estatura);
}}}
catch(FileNotFoundException fnfe) {}
catch (IOException ioe) {};
// cerrando archivos
archivo.close();
archivot.close();
// eliminando original renombrando temporal
File file1 = new File("c:\\archivo1.dat");
File file2 = new File("c:\\temp.dat");
if (file1.exists()) {file1.delete();};
file2.renameTo(file1);
// avisando
out.println("REGISTRO ELIMINADO");
};
// construyendo forma dinamica
out.println("<FORM ACTION=prog21.jsp METHOD=post>");
out.println("CLAVE ELIMINAR:<INPUT TYPE=TEXT NAME=CLAVEB><BR>");
out.println("<INPUT TYPE=SUBMIT NAME=ELIMINAR VALUE=Eliminar><BR>");
out.println("</FORM>");
%>

corrida:

image39.jpg

TAREAS PROGRAMACION JAVA JSP

1.- Agregar un modulo de eliminacion o baja, a los archivos ya construidos.

Politica de Privacidad