Leer archivo .txt y guardar en base de datos

Espero que me puedan ayudar.
Mi problema es que necesito leer un archivo de texto (.txt) que contiene la información de pedidos de materiales, estos datos están separados por espacios. Ya conseguí leer el archivo con BufferedReader, pero el problema es que me lo sapera por líneas, y yo necesito que esas líneas me las separe por espacios porque cada espacio de la línea para mi es una variable, y esas variables las tengo que guardar en una base de datos.
El formato es del archivo .txt es más o menos así:
Fluffy Arnoldo Gato f 1999-02-04 \N
Mau Juan Pez m 1998-03-17 \N
Buffy Arnoldo Hamster f 1999-05-13 \N
Espero que me puedan ayudar, estoy desesperado porque no me sale.
Respuesta
1
Para separar un String por espacios usa el método split(" ") que crea un array o vector de tipo String con cada palabra que encontró en la linea... he creado un ejemplo, este es el código:
public static void main(String args []){
    String str = "Fluffy Arnoldo Gato f 1999-02-04 \n";
    String [] vectorDePalabras = str.split(" ");
    for( int i=0; i<vectorDePalabras.length; i++ ){
         System.out.println(vectorDePalabras);
    }
}



Ell editor de texto de Todoexpertos ha quitado los brackets para mostrar el vectorDePalabras por la consola... la linea correcta deberia ser asi: System.out.println( vectorDePalabras[ i ] );

1 respuesta más de otro experto

Respuesta
1
Imagino que te estás refiriendo exactamente al lenguaje de programación Java. Me podrías pegar el código por favor, me será más fácil echarte una cara así.
Mira, este es el código que utilizo para leer el archivo y me lo separa por líneas.
Fluffy Arnoldo Gato f 1999-02-04 \N
Algo más o menos como lo de arriba, pero quiero que esas líneas a la vez me las separe en "columnas" para poder guardarlas en la base de datos. Es decir meterlas a unas variables como por ejemplo nombreMascota, propietario, animal, sexo, fechaNacimiento, fechaFallecimiento. Espero que me haya explicado bien... el lenguaje si es Java.
Gracias por responderme y espero que me puedas sacar de esta duda. Muchas gracias.
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
class LeerArchivo {
public static void main(String [] arg) {
File archivo = null;
FileReader fr = null;
ArrayList lineas = new ArrayList();
try {
archivo = new File ("C:/AppServ/mascotas.txt");
String linea;
fr = new FileReader (archivo);
BufferedReader br = new BufferedReader(fr);
while((linea=br.readLine())!=null){
lineas.add(linea);
}
System.out.print ("EL VECTOR ES : \n");//MOSTRAR LOS DATOS DEL ARREGLO
for (int j = 0 ; j < lineas.size() ; j++){
linea = (String)lineas.get(j);
System.out.print ( linea + "\n" );
}
}//FIN DEL TRY
catch(IOException e){
System.out.println(e);
}
finally{
try{
if( fr != null){
fr.close();
}
}catch (IOException e){
}
}
System.exit(0);}
}
Oh, siento no haber entendido tu pregunta, lo que tu quieres es separar las palabras por un criterio. En este caso espacios en blanco. Lo que necesitas es la función split(). Funciona de la siguiente manera:
String cadena = "Fluffy Arnoldo Gato f 1999-02-04 \N";
String [] temp = null;
temp = cadena.split(" ");
Y los valores que tiene son:
temp[0] // Fluffy
temp[1] // Arnoldo
temp[2] // Gato
temp[3] // f
temp[4] // 1999-02-04
Etc...

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas