UNIDAD 7: REGISTROS Y ARCHIVOS SECUENCIALES

JAVA TEMA 7: PROCESOS CON ARCHIVOS SECUENCIALES

Recordar que existen una serie de procesos basicos con archivos, el famoso ABC(altas, bajas, consultas y modificaciones) con ellos.

Actualmente estos procesos o similares a ellos se llaman insertar, eliminar, editar, etc, en las modernas bases de datos pero esto lo analizaremos mas adelante.

El primer proceso, para un archivo secuencial es agregar una cantidad indefinida de registros al archivo, este proceso ya esta resuelto con el programa de grabación ya hecho y con la ayuda del servidor, basta que se este llamado cuantas veces sea necesaria la pagina que graba registros en archivo.

Un segundo proceso mas comun(llamado consulta) es desplegar todos los registros del archivo a la vez, problema tambien resuelto en el programa de lectura.

El tercer Proceso que “resolvemos” en este JAVA TEMA es la busqueda de un registro determinado, en este proceso el usuario del programa quiere que se despliegue un y solo un registro de información, proporcionando un dato de busqueda, generalmente la clave del registro.

La solucion es sencilla, solo tenemos que abrir el archivo para lectura, hacer un ciclo while(true), condicionar y solo desplegar el registro cuando se cumpla la condición.

Codigo.html:

<HTML>
<FORM ACTION=http://programacionfacil.com:9090/servlet/susitio.prog36 METHOD=POST>
PAGINA DE BUSQUEDA<BR>
DAME MATRICULA A BUSCAR:<INPUT TYPE=TEXT NAME=MATRICULA><BR>
<INPUT TYPE=SUBMIT VALUE=BUSCAR>
</FORM></HTML>

Codigo Java:

import java.io.*; import javax.servlet.*;
import javax.servlet.http.*;
public class prog36 extends HttpServlet
{ public void doPost (HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException
{ DataInputStream archivo = null;
int matricula=0;
String nombre=new String("");
int edad=0;
Integer temp1=new Integer(0);
PrintWriter pagina;
response.setContentType("text/html");
pagina = response.getWriter();
pagina.println("<HTML>");
pagina.println("<P ALIGN="+"CENTER"+">ALUMNOS TABLA</P>");
pagina.println("<P ALIGN="+"CENTER"+">MATRICULA NOMBRE EDAD</P>");
pagina.println("<DIV ALIGN="+"CENTER"+"><CENTER>");
pagina.println("<TABLE BORDER="+"1"+">");
//capturando clave a buscar
temp1 = temp1.valueOf( request.getParameter("MATRICULA"));
int clave = temp1.intValue();
try{
//* abriendo archivo para lectura */
archivo = new DataInputStream( new FileInputStream("c:\\xitami\\servlets\\lauro\\archivo1.dat") );
//leyendo archivo y observar donde quedo TR
pagina.println("<TR>");
while (true) {
//leyendo registro
matricula=archivo.readInt();
nombre=archivo.readUTF();
edad=archivo.readInt();
//comparando y desplegar en condición cierta
if (clave == matricula){
pagina.println("<TD>"+matricula+"</TD>");
pagina.println("<TD>"+nombre+"</TD>");
pagina.println("<TD>"+edad+"</TD>");
pagina.println("</TR>");}; } }
catch(FileNotFoundException fnfe) { /* Archivo no encontrado */ }
catch (IOException ioe) { /* Error al escribir */ }
pagina.println("</TABLE></CENTER></DIV></HTML>");
archivo.close();
pagina.close();
destroy();
};
public void destroy(){super.destroy();};
}

Corrida pagina busqueda:

image48.jpg

Corrida programa java:

image49.jpg

TAREAS JAVA SERVLET

1.- Hacer java servlets de busquedas para los archivos hechos.

Politica de Privacidad