24/05/2009, 08:55
|
| | Fecha de Ingreso: diciembre-2008 Ubicación: Bogota
Mensajes: 149
Antigüedad: 16 años Puntos: 1 | |
Respuesta: guardar en una base los datos de un archivo txt en jsp package servlets;
import java.io.IOException;
import java.io.PrintWriter;
import java.io.File;
import java.util.List;
import java.util.Iterator;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.FileItemFactory;
import org.apache.commons.fileupload.FileUploadException;
import org.apache.commons.fileupload.disk.DiskFileItemFac tory;
import org.apache.commons.fileupload.servlet.ServletFileU pload;
import java.util.StringTokenizer;
import clases.loguito;
import dao.daologuito;
import java.util.Vector;
public class UploadFile extends HttpServlet {
private String dirUploadFiles; //directorio donde se guardara los archivos
private loguito loguito;
private daologuito daologuito;
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
dirUploadFiles = getServletContext().getRealPath( getServletContext().getInitParameter( "dirUploadFiles" ) );
if( ServletFileUpload.isMultipartContent( request ) ){
FileItemFactory factory = new DiskFileItemFactory();
ServletFileUpload upload = new ServletFileUpload( factory );
upload.setSizeMax( new Long( getServletContext().getInitParameter( "maxFileSize" ) ).longValue() ); // 1024 x 300 = 307200 bytes = 300 Kb
List listUploadFiles = null;
FileItem item = null;
try{
listUploadFiles = upload.parseRequest( request );
Iterator it = listUploadFiles.iterator();
while( it.hasNext() ){
item = ( FileItem ) it.next();
// 8. evaluamos si el campo es de tipo file, para subir al servidor
if( !item.isFormField() ){
//9. verificamos si el archivo es > 0
if( item.getSize() > 0 ){
// 10. obtener el nombre del archivo
String nombre = item.getName();
// 11. obtener el tipo de archivo
// e. .jpg = "image/jpeg", .txt = "text/plain"
String tipo = item.getContentType();
// 12. obtener el tamaño del archivo
long tamanio = item.getSize();
// 13. obtener la extension
String extension = nombre.substring( nombre.lastIndexOf( "." ) );
String datos = item.getString();
out.println( "Nombre: " + nombre + "<br>");
out.println( "Tipo: " + tipo + "<br>");
out.println( "Extension: " + extension + "<br>");
System.out.println( "Tamaño: " + tamanio + "");
System.out.println( "?: " + datos + "");
dao.daologuito daolo= new dao.daologuito();
clases.loguito loguito= new clases.loguito();
Vector vector = new Vector();
int idx = 0;
int tokenCount;
String words[] = new String [40000];
// String message="Este sera el mensaje a ser divido para ingresar en el vector para ayuda de caritol linda";
StringTokenizer st = new StringTokenizer(datos);
tokenCount = st.countTokens();
System.out.println("Number of tokens = " + tokenCount);
while (st.hasMoreTokens()){
words[idx] = st.nextToken();
System.out.println(words[idx]);
idx++;
}
for (idx=0;idx<tokenCount; idx++){
vector.addElement(words[idx]);
String dataStore = vector.elementAt(idx).toString();
System.out.println("Data en el Vector : " + dataStore + "pos "+ idx);
daolo.almacenarloguito(dataStore,dataStore,dataSto re,dataStore,dataStore,dataStore,dataStore,dataSto re,dataStore,dataStore);
System.out.println("registros insertados");
}
/////////////////////////
File archivo = new File( dirUploadFiles, nombre );
//String cadena= new BufferRead(archivo);
// 18. Write the uploaded file to the system
item.write( archivo );
if ( archivo.exists() ){
out.println( "GUARDADO " + archivo.getAbsolutePath() + "</p>");
}else{
// nunca se llega a ejecutar
out.println( "FALLO AL GUARDAR. NO EXISTE " + archivo.getAbsolutePath() + "</p>");
}
}
}
}
}catch( FileUploadException e ){
e.printStackTrace();
}catch (Exception e){
// poner respuesta = false; si existe alguna problema
e.printStackTrace();
}
}
out.println( "Fin de la operacion! ;)" );
out.close();
}
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
}
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
}
} |