UNIDAD 6: JAVA JSP REGISTROS Y ARCHIVOS DIRECTOS

TEMA 5: FILTROS CONDICIONES JAVA JSP

Otro problema similar al anterior es el de filtros o condiciones, es decir en muchas ocasiones es necesario obtener información acerca de un subconjunto de renglones de el archivo.

Por ejemplo todos los estudiantes que sean mayores de 17 años, o todos los clientes que sean de Tijuana, etc. a esto le llamamos filtros o condiciones.

Tambien se resuelve de manera similar a los de archivos secuenciales es decir usando un ciclo de lectura de todo el archivo e ir desplegando todos los registros que cumplan la condicion.

Prog29.jsp

<%@ page import="java.io.*" %>
<%
// creando e inicializando los campos del registro
int clave=0;
String nombre="";
int edad=0;
long treg=58;
if(request.getParameter("FILTRAR") != null)
{
// abriendo archivo
try {
File arch=new File("c:\\archivo2.dat");
RandomAccessFile archivo=new RandomAccessFile(arch,"rw");
// calculando cantidad de registros
long creg=archivo.length()/treg;
// empezando tabla html para desplegar
out.println("<HTML><TABLE Border=10 CellPadding=5><TR>");
out.println("<th bgcolor=Green>CLAVE</th><th bgcolor=White>NOMBRE</th><th bgcolor=Red>EDAD</th></TR>");
// capturando condicion de busqueda
int edadb=Integer.parseInt(request.getParameter("EDADB"));
// iniciando ciclo lectura archivo
for (long r=0; r < creg; r++)
{
// leyendo los registros
clave=archivo.readInt();
//leyendo string
for(int i = 0; i < 25; ++i)
{ nombre += archivo.readChar(); };
edad=archivo.readInt();
// desplegando en tabla html incluyendo condicion
if (edad >= edadb)
{ out.println("<TR>");
out.println("<TD>"+clave+"</TD>");
out.println("<TD>"+nombre+"</TD>");
out.println("<TD>"+edad+"</TD>");
out.println("</TR>");
// limpiando string
nombre="";
};
//limpiando string otra vez
nombre="";
}; // termina if y for
// fin tabla y cierre de arcgivo
out.println("</table>");
archivo.close();
} catch(FileNotFoundException fnfe) { }
catch (IOException ioe) { }
};
// construyendo forma dinamica
out.println("<FORM ACTION=prog29.jsp METHOD=post>");
out.println("EDAD >= <INPUT TYPE=TEXT NAME=EDADB><BR>");
out.println("<INPUT TYPE=SUBMIT NAME=FILTRAR VALUE=filtrar ><BR>");
out.println("</FORM>");
%>

corrida:

image53.jpg

Como se observa es un problema y una solución similar al tema anterior de busquedas.

TAREAS PROGRAMACION JAVA JSP

HACERLES PROGRAMAS DE FILTRADO A LOS ARCHIVOS ANTERIORES

Politica de Privacidad