Foros del Web » Programación para mayores de 30 ;) » Java »

acerca del metodo split()

Estas en el tema de acerca del metodo split() en el foro de Java en Foros del Web. Tengo una duda acerca de la importacion de un archivo .txt a mi BD en sql server ocupo el metodo split( ) para indicarle q ...
  #1 (permalink)  
Antiguo 14/07/2010, 14:32
 
Fecha de Ingreso: junio-2010
Mensajes: 12
Antigüedad: 14 años, 5 meses
Puntos: 1
acerca del metodo split()

Tengo una duda acerca de la importacion de un archivo .txt a mi BD en sql server
ocupo el metodo split( ) para indicarle q adonde hay un carater "," agarre esa linea y la inserte a mi BD, pero el problema radica en q cuando llega a la "," ya no sigue leyendo la otra parte del documento..como puedo hacer??
espero q me ayuden..
de antemano muchas gracias!
  #2 (permalink)  
Antiguo 14/07/2010, 16:19
Avatar de Xerelo  
Fecha de Ingreso: mayo-2009
Mensajes: 2.175
Antigüedad: 15 años, 7 meses
Puntos: 306
Respuesta: acerca del metodo split()

No entiendo bien tu problema, con FileReader puedes leer las líneas enteras, y en cada una ellas le aplicas el split y te quedas con lo que te interese.

Cuanto mejor te expliques, más fácil es que te puedan ayudar, y en ocasiones ayuda el poner un trozo de código.
  #3 (permalink)  
Antiguo 15/07/2010, 03:45
 
Fecha de Ingreso: febrero-2010
Mensajes: 128
Antigüedad: 14 años, 10 meses
Puntos: 3
Respuesta: acerca del metodo split()

Si tu problema es que tienes todo el documento en un string separado por comas, puedes usar la clase StringTokenizer de java.util. Le indicas el delimitador "," y vas recogiendo tokens.

suerte
  #4 (permalink)  
Antiguo 17/07/2010, 15:00
 
Fecha de Ingreso: junio-2010
Mensajes: 12
Antigüedad: 14 años, 5 meses
Puntos: 1
Respuesta: acerca del metodo split()

Cita:
Iniciado por Xerelo Ver Mensaje
No entiendo bien tu problema, con FileReader puedes leer las líneas enteras, y en cada una ellas le aplicas el split y te quedas con lo que te interese.

Cuanto mejor te expliques, más fácil es que te puedan ayudar, y en ocasiones ayuda el poner un trozo de código.
gracias!! actualmente este es el codigo que tengo...

FileReader fw = null;
try {
fw = new FileReader(archivo);
}
catch (FileNotFoundException ex) {
Logger.getLogger(CorreosView.class.getName()).log( Level.SEVERE, null, ex);
}
BufferedReader br=new BufferedReader(fw);
Connection cn=DriverManager.getConnection("jdbc:sqlserver://localhost;.............");
Statement cmd=cn.createStatement();

String StrComando="";
String [] items;
String registro=" ";
do
{
try {
registro = br.readLine();
} catch (IOException ex) {
Logger.getLogger(NominaView.class.getName()).log(L evel.SEVERE, null, ex);
}
if(registro==null) break;
items=registro.split(";");

StrComando="insert into Nomina(Id_Alumno) values('"+items[0]+"')";
cmd.executeUpdate(StrComando);
}
while(registro!=null);

y lo que me esta pasando es que si lee pero solo almacena el primer registro que es hasta donde encuentra el ; ya de ahi los demas no, osea no sigue ingresando todos los demas registros...
espero y me puedas ayudar
gracias!!
  #5 (permalink)  
Antiguo 18/07/2010, 02:49
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 21 años, 2 meses
Puntos: 51
Respuesta: acerca del metodo split()

Aparte de que no haga lo que quieres, que no entiendo exactamente lo que es por que en un sitio hablas de ",", en el codigo tienes ";" y la estructura no es muy clara, comentarte que tendrías que revisar la estructura del código en cuanto a tratamiento de excepciones y la limpieza de recursos utilizados. Por ejemplo, si el fichero no existe saltará una NullPointerException, las conexiones a BDD y streams a ficheros pueden quedarse abiertos....

S!
__________________
Para obtener respuestas, pregunta de forma inteligente o si no, pregunta lo que quieras que yo contestaré lo que me dé la gana.

Etiquetas: metodo, split
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:16.