Título: Fichero De Datos POO. Publicado por: rokacasterli en 7 Mayo 2017, 13:53 pm Hola, buenas días, necesito saber si alguno de ustedes sabe, o tiene el código o alguna referencia que explique como introducir un los datos de los objetos desde un fichero, en este caso un .txt
Me explico, mi intención es 'crear' dichos objetos a partir de dicho fichero .txt. En mi .txt tendré los parámetros de mi constructor principal algo como Pepe Viñuelas Garcia;29;pepe@gmail.com;7788928-X Pepe2 Viñuelas2 Garcia2;29;pepe2@gmail.com;7788929-X Pepe3 Viñuelas3 Garcia2;29;pepe3@gmail.com;7788930-X . .etc de forma que en un array de la clase ya definida 'Personas' con tamaño ya establecido, se introduzcan dichos datos. ¿Es posible realizar dicha tarea? Saludos :) Título: Re: Fichero De Datos POO. Publicado por: Eleкtro en 7 Mayo 2017, 15:23 pm Bueno, dudo que alguien te pueda ayudar si no especificas en qué lenguaje de programación estás trabajando.
Si no he entendido mal, tú tienes un archivo delmitado por comas (o CSV) y quieres hallar una forma de poder representar la información de cada linea del archivo mediante objetos. Bien, una forma rudimentaria de hacerlo sería leer el archivo y partir cada linea individual usando el caracter delimitador, y de este modo obtener un Array con los campos que poder pasarle al constructor de un tipo. Una forma más sofisticada y óptima (según las circunstancias) podría ser mediante la serialización/deserialización de objetos (siempre que el lenguaje que estés utilizando provea esta funcionalidad), de esta forma podrías traducir/convertir el contenido de un archivo, a un tipo específico, y viceversa. ¡Saludos! Título: Re: Fichero De Datos POO. Publicado por: rokacasterli en 7 Mayo 2017, 16:16 pm Si, es cierto perdón. Estoy trabajando con Java, JDK 1.7.
''Si no he entendido mal, tú tienes un archivo delmitado por comas (o CSV) y quieres hallar una forma de poder representar la información de cada linea del archivo mediante objetos.'' Así es correcto en concreto un tipo .txt en el de 'algún modo que desconozco', introducir dicho datos pero en un array. Para ser más concreto mi intención es hacer algo así pero con un array de objetos donde en vez de Productos, sean Productos[], pero no sé como hacerlo. Código
Saludos :) Título: Re: Fichero De Datos POO. Publicado por: cunian en 7 Mayo 2017, 19:20 pm Hola amigo, y si cargas todos los objetos del .txt a un contenedor. un Arraylist o un LinkedList.
Código
Título: Re: Fichero De Datos POO. Publicado por: 3n31ch en 7 Mayo 2017, 20:32 pm Entiendo que quieres algo como esto:
Código
(Ojo, la ultima linea lee el objeto directamente, para eso hice un override de toString en Employee) Eso segun yo es la forma mas simple sin tener que acudir a clases poco comunes de java. Si vez lo unico que se usa es ArrayList, FileReader y BufferedReader. Otra forma seria usar Scanner: Código
Título: Re: Fichero De Datos POO. Publicado por: rokacasterli en 9 Mayo 2017, 17:27 pm Muchas gracias por la ayuda, puedes explicarme qué hace esta sintaxis
Código Saludos! Título: Re: Fichero De Datos POO. Publicado por: 3n31ch en 9 Mayo 2017, 19:04 pm Muchas gracias por la ayuda, puedes explicarme qué hace esta sintaxis Código Saludos! Eso es un foreach, recorre un arreglo uno por uno: Si tienes un arrayList de productos llamado: productos y quieres recorrerlo uno por uno haces lo siguiente: for(Producto producto : productos) { System.out.println(producto.getNombre()); } El azul seria el Tipo de ArrayList o mas bien la Clase de los objetos que contiene. El verde seria la variable temporal que tendra cada producto cuando se itere sobre el El rojo es la lista de productos sobre la cual iteras Título: Re: Fichero De Datos POO. Publicado por: rokacasterli en 10 Mayo 2017, 23:40 pm Vale, muchas gracias.
Otra duda, para convertir un booleano a String, de manera que desde un archivo pueda leer dicho atributo boolean, ¿cómo es la mejor manera de recoger dicha información? Título: Re: Fichero De Datos POO. Publicado por: 3n31ch en 11 Mayo 2017, 01:36 am ponlo como 1 o como 0, si es 0 es false, si es 1 es true.
Luego haces lo siguiente: Código
Seguramente existen mas formas, pero esa se me ocurre por le momento. |