Underc0de

Foros Generales => Dudas y pedidos generales => Mensaje iniciado por: rollth en Mayo 26, 2015, 03:55:47 PM

Título: [SOLUCIONADO] Java: cargar Objetos de archivo texto
Publicado por: rollth en Mayo 26, 2015, 03:55:47 PM
Muy buenas a todos, espero que me perdoneis estas novatadas de java  :o. El problema es que tengo un codigo en java que suelta objetos en un txt de la siguiente forma:

a,a,4.0,0.04,5

Siendo de la siguiente forma: String,String,float,float,int

La cuestion seria como puedo hacer lo contrario, a partir del fichero leer la linea y que lo transforme en un objeto.

Cuando termine el proyecto entero lo publico para que le podais echar un ojo.
Título: Re:[Java] Cargar Objetos de archivo texto
Publicado por: Hu3c0 en Mayo 26, 2015, 04:33:53 PM
No sé si te servirá lo que te voy a decir hermano rollt pero si no he entendido mal lo que quieres es leer el jtext y coger por separado los Strings de los float.

Bueno hermano pues  lo primero que se me ocurre es Stringtokenizer  y lo spliteas a tu gusto un pequeño ejemplo

String url = "http://howtodoinjava.com/java-initerview-questions";
StringTokenizer multiTokenizer = new StringTokenizer(url, "://.-");
while (multiTokenizer.hasMoreTokens())
{
    System.out.println(multiTokenizer.nextToken());
}

Como podrás observar splitea los slash espero que lo comprendas es sencillo, haz lo mismo pero con las "," entonces el primer valor y el segundo los metes en variables de tipo String y los que sean  Floats en sus correspondientes variables float

Espero haberte sido de utilidad
Título: Re:[Java] Cargar Objetos de archivo texto
Publicado por: rollth en Mayo 26, 2015, 07:04:51 PM
Solucion:

he cambiado la forma de guardarlo y guardo una variable en cada linea.

Código (java) [Seleccionar]
    private void cargarFichero(){
       int i;
         String obj;
        try{
            File archivo = new File("objetos.txt");
            FileReader fr=new FileReader(archivo);
            BufferedReader br = new BufferedReader(fr);
            while((obj = br.readLine()) != null){
                String name = obj;
                obj = br.readLine();
                String des = obj;
                obj = br.readLine();
                float pr = Float.parseFloat(obj);
                obj = br.readLine();
                float I = Float.parseFloat(obj);
                obj = br.readLine();
                int s = Integer.parseInt(obj);
                nuevoProducto2(name, des, pr, I, s);
            }
        }
        catch(IOException e){
            System.out.println("Error cargando objetos.txt");
        }
    }