ia lo hice gracias por su ayuda xD
es asi
Código:
======== pagina de inicio donde se seleccionara el archivo
<script type="text/javascript">
function validar()
{
var mensaje="";
if(document.formulario.acc.value==""){
mensaje="debe ingresar la cantidad total de acciones"}
var acc=document.formulario.acc.value;
var regex=/^\d{1,20}$/;
if(!regex.test(acc)){
mensaje = mensaje+"debe ingresar solo numeros";
alert(mensaje);
return false
}else
return true
}
</script>
<form name="formulario" method="POST" enctype='multipart/form-data' action="/Prueba/Sube"
onsubmit="return validar()">
Acciones:<input type="text" name="acc" value=""><br>
Por favor, seleccione el trayecto del archivo a cargar
<br><input type="file" name="archivoaleer">
<input type="submit" >
</form>
servlet para leer el archivo======
Código:
import 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);
}
}
la pagina q conecta y ingresa los datos a la base de datos
Código:
import 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);
}
}
mi campo del txt esta separado por ";" por leo por cada";"
claro q falta la clase Accionista con los metodos insertpara la base de datos desde ahi me conecto a la base
gracias por su molestia