les comento tengo un servlet q lee archivos a eleccion
Código:
con este lo leo... y con esta pagina web controlo las variables leidas y son cargadas en la base de datosimport java.io.*; import javax.servlet.*; import javax.servlet.http.*; import org.apache.commons.fileupload.*; import java.util.*; import org.apache.commons.fileupload.disk.DiskFileItemFactory; import org.apache.commons.fileupload.servlet.ServletFileUpload; public class Sube extends HttpServlet { protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { procesaArchivo(request); String acc= request.getParameter("acc"); String enviara = "/Controla.jsp"; RequestDispatcher envio = getServletContext().getRequestDispatcher(enviara); envio.forward(request, response); } void depura(String cadena) { System.out.println("El error es " + cadena); } public boolean procesaArchivo(HttpServletRequest req) { try { // construimos el objeto que es capaz de parsear la perición /*FileItemFactory es una interfaz para crear FileItem*/ FileItemFactory file_factory = new DiskFileItemFactory(); /*ServletFileUpload esta clase convierte los input file a FileItem*/ ServletFileUpload servlet_up = new ServletFileUpload(file_factory); List items = servlet_up.parseRequest(req); for(int i=0;i<items.size();i++){ /*FileItem representa un archivo en memoria que puede ser pasado al disco duro*/ FileItem item = (FileItem) items.get(i); if (! item.isFormField()){ /*definición de ruta donde se guardará en el servidor*/ String destino = getServletContext().getContextPath(); String destinofinal = getServletContext().getRealPath(destino+"/.."); File archivo_server = new File(destinofinal+"/doctos/salida.txt"); item.write(archivo_server); } else { System.out.println("campos de texto "+item.getFieldName()+" --- "+item.getString()+"<br>"); } } } catch(Exception e) { depura("Error de Aplicación " + e.getMessage()); return false; } return true; } /** Handles the HTTP <code>POST</code> method. * @param request servlet request * @param response servlet response */ @Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { processRequest(request, response); } }
Código:
el proble esq io no kiero cargarlos registros leidos aun... necesito poder validarlos... como por ejemplo q el id no se repita q haya sido un varchar o string en vez de in cosas asi.... donde tengo q poner las distintas sentencias para poder validar esto... o mejor aun puedo guardar lo leido en un array y manejar desde ahi y luego ingresar los datos a la base de datos..... muy agradecido de antemano <%@page contentType="text/html" pageEncoding="UTF-8"%> <%@page import="java.io.*"%> <%@page import="prueba.duoc.Accionista"%> <%@page import="prueba.duoc.ConexionBD"%> <%response.reset(); String acc=request.getParameter("acc"); String cuentassalida = request.getParameter("cuentassalida"); String destino = getServletContext().getContextPath(); String destinofinal = getServletContext().getRealPath(destino+"/.."); FileReader f = new FileReader(destinofinal+"/doctos/salida.txt"); BufferedReader b = new BufferedReader(f); int codigo= 0; String rut= null; String rsocial= null; String sexo=null; String estC=null; String tipo=null; int acciones= 0; Accionista a= new Accionista(); while (true) { String linea = b.readLine(); if (linea == null) break; String lista[] = linea.split(";"); for (int i = 0; i <lista.length;i++) { if(i==0) codigo=Integer.parseInt(lista[i]); else if(i==1) rut = lista[i]; else if(i==2) rsocial =lista[i]; else if(i==3) sexo = lista[i]; else if(i ==4) estC=lista[i]; else if(i==5) tipo = lista[i]; else if(i==6) acciones =Integer.parseInt(lista[i]); a.setAccodigo(codigo); a.setAccrut(rut); a.setAccrazonsocial(rsocial); a.setAccsexo(sexo); a.setAccestadocivil(estC); a.setAcctipo(tipo); a.setAccacciones(acciones); a.insertar(); -----este metodo no tiene q iegar a ejecutarse aun... a menos -----------------------------q sean validos los registros } } b.close(); f.close(); if (a.insertar()!=0){ out.println("falla al cargar"); }else{%> <head> <meta http-equiv="refresh" content="0; url=/Prueba/menu.jsp"> </head> <p>Cargando datos...</p> <%} %>