elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Introducción a Git (Primera Parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java
| | | |-+  Escribir y leer de un fichero con objetos.
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: Escribir y leer de un fichero con objetos.  (Leído 6,048 veces)
Fryuio

Desconectado Desconectado

Mensajes: 27


Ver Perfil
Escribir y leer de un fichero con objetos.
« en: 22 Abril 2017, 12:49 pm »

Hola muy buenas, no sé como podría hacer un código sencillo que me lea y escriba en un fichero objetos.

Yo tengo una cosa así:
Código
  1.                private String nombre;
  2. private int numero;
  3.  
  4. public Personas(String nombre,int numero){
  5.  
  6. this.nombre=nombre;
  7. this.numero=numero;
  8.  
  9. }
  10. public String getnombre(){
  11. return nombre;
  12. }
  13. public int getnumero() {
  14. return numero;
  15. }
Es el cacho del objeto que he creado. Bueno el caso, es que me estoy volviendo loco porque no sé como podría hacer que guarde el objeto en un fichero, pero claro, no 1 si no varios objetos de ese tipo, introduciendo por teclado esos valores.
Ejemplo: Juan, 1234
             Antonio, 3456
             .....etc
Y claro, no sé como podría hacer que al meter los parámetros por teclado, me lo escriba en el fichero, y luego me pida el 2º objeto, 3º, etc...Obviamente también me interesa que me imprima por pantalla cuando se acabe de meter datos, los datos de todas las personas.
Me sería de gran ayuda, un saludo.


En línea

3n31ch


Desconectado Desconectado

Mensajes: 445


Grandes conocimientos engendran grandes dudas


Ver Perfil
Re: Escribir y leer de un fichero con objetos.
« Respuesta #1 en: 22 Abril 2017, 13:19 pm »

Supongo que ya sabes como agregar datos a un fichero (abrirlo y agregar una nueva linea al final).?

En dicho caso, te recomiendo que veas el metodo que poseen todas las clases que heredan de la clase Object (osea todas...) El cual se llama .toString().

Puedes buscar sobre eso en la API. (Lamento no poner codigo... Antes lo hacia pero he aprendido que la mejor aprender algo es haciendolo tu mismo).

Cualquier duda me dices.


-------------------

Por cierto. Es mejor que le pongas a tu clase "Persona" no "Personas". Singular siempre  ;D || Existe excepciónes que puedes ver en el mismo JDK. Pero en la mayoria de los casos seran sigunlares


« Última modificación: 22 Abril 2017, 13:26 pm por 3n31ch » En línea

Fryuio

Desconectado Desconectado

Mensajes: 27


Ver Perfil
Re: Escribir y leer de un fichero con objetos.
« Respuesta #2 en: 22 Abril 2017, 14:00 pm »

Supongo que ya sabes como agregar datos a un fichero (abrirlo y agregar una nueva linea al final).?

En dicho caso, te recomiendo que veas el metodo que poseen todas las clases que heredan de la clase Object (osea todas...) El cual se llama .toString().

Puedes buscar sobre eso en la API. (Lamento no poner codigo... Antes lo hacia pero he aprendido que la mejor aprender algo es haciendolo tu mismo).

Cualquier duda me dices.


-------------------

Por cierto. Es mejor que le pongas a tu clase "Persona" no "Personas". Singular siempre  ;D || Existe excepciónes que puedes ver en el mismo JDK. Pero en la mayoria de los casos seran sigunlares

Sí, sé leer y escribir en el fichero, lo que me pasa es que no sé como hacer para escribirlos 1 a 1 y que me los vaya pidiendo y guardando. Sé que con un bucle for lo hago, pero no sé muy bien como enfocarlo jaja.
En línea

3n31ch


Desconectado Desconectado

Mensajes: 445


Grandes conocimientos engendran grandes dudas


Ver Perfil
Re: Escribir y leer de un fichero con objetos.
« Respuesta #3 en: 22 Abril 2017, 14:09 pm »

ok, un ciclo for no es el indicado.

Veras en Java (Como en muchos lenguajes) existen tres tipos de ciclos basicos (omitiendo variaciones como el foreach):

El primero ya lo conoces (for):
Código
  1. for(int i = 0;i<10;i++) {
  2.    // HACER ALGO 10 VECES
  3. }
  4.  

El segundo es el ciclo while:

Código
  1. int i = 0;
  2. while(i<10) {
  3.    // HACER ALGO 10 VECES
  4.   i++;
  5. }
  6.  

En el caso anterior se repite lo que tu quieras mientras se cumpla la condicion (es como un if, pero para ciclos)

El tercero es el do-while:
Código
  1. int i = 0;
  2. do {
  3.    // HACER ALGO 11 VECES
  4.   i++;
  5. } while(i<10);
  6.  

Es similar al while solo que verifica si se cumple la condicion despues de ejecutar el codigo (por tanto siempre entrara al menos una vez)

---- Puedes averiguar mas de esto en google ----

Ok, para no complicarnos con el do-while (que seria lo mas indicado) lo hacemos solo con el while:

Código
  1. while(true) {
  2.    /// preguntar si quiere el usuario ingresar una persona
  3.   if(si no quiere) break; // con esto sales del ciclo.
  4.   // por tanto si llega a este punto quiere decir que si queria.
  5.   // preguntar los datos de la persona, agregarlos al fichero y volver al inicio.
  6. }
  7.  


No lo hice con codigo para ver si lo logras maquinar tu solo. Cualquier duda dime!
« Última modificación: 22 Abril 2017, 14:12 pm por 3n31ch » En línea

Fryuio

Desconectado Desconectado

Mensajes: 27


Ver Perfil
Re: Escribir y leer de un fichero con objetos.
« Respuesta #4 en: 22 Abril 2017, 14:32 pm »

ok, un ciclo for no es el indicado.

Veras en Java (Como en muchos lenguajes) existen tres tipos de ciclos basicos (omitiendo variaciones como el foreach):

El primero ya lo conoces (for):
Código
  1. for(int i = 0;i<10;i++) {
  2.    // HACER ALGO 10 VECES
  3. }
  4.  

El segundo es el ciclo while:

Código
  1. int i = 0;
  2. while(i<10) {
  3.    // HACER ALGO 10 VECES
  4.   i++;
  5. }
  6.  

En el caso anterior se repite lo que tu quieras mientras se cumpla la condicion (es como un if, pero para ciclos)

El tercero es el do-while:
Código
  1. int i = 0;
  2. do {
  3.    // HACER ALGO 11 VECES
  4.   i++;
  5. } while(i<10);
  6.  

Es similar al while solo que verifica si se cumple la condicion despues de ejecutar el codigo (por tanto siempre entrara al menos una vez)

---- Puedes averiguar mas de esto en google ----

Ok, para no complicarnos con el do-while (que seria lo mas indicado) lo hacemos solo con el while:

Código
  1. while(true) {
  2.    /// preguntar si quiere el usuario ingresar una persona
  3.   if(si no quiere) break; // con esto sales del ciclo.
  4.   // por tanto si llega a este punto quiere decir que si queria.
  5.   // preguntar los datos de la persona, agregarlos al fichero y volver al inicio.
  6. }
  7.  


No lo hice con codigo para ver si lo logras maquinar tu solo. Cualquier duda dime!


Muchas gracias por todos los detalles.
Pero a ver creo que me he expresado mal jaja. Mi problema no está en meter los datos jaja, mi problema está en que no soy capaz de guardar los datos en el fichero jaja
En línea

3n31ch


Desconectado Desconectado

Mensajes: 445


Grandes conocimientos engendran grandes dudas


Ver Perfil
Re: Escribir y leer de un fichero con objetos.
« Respuesta #5 en: 22 Abril 2017, 14:48 pm »

Quizas esto ayude:
Código
  1. public static void main(String[] args) throws IOException {
  2.  
  3. BufferedWriter bw = null;  
  4. bw = new BufferedWriter(new FileWriter("/home/eneich/texto.txt", true));
  5. Scanner scanner = new Scanner(System.in);
  6. String input;
  7. while(true){
  8. System.out.print("exit para salir, cualquier cosa para agregar:");
  9. input = scanner.nextLine();
  10. if(input.equals("exit")) break;
  11. bw.write(input+"\n");
  12.  
  13. }
  14. bw.close();  
  15. }
  16.  
En línea

Serapis
Colaborador
***
Desconectado Desconectado

Mensajes: 3.351


Ver Perfil
Re: Escribir y leer de un fichero con objetos.
« Respuesta #6 en: 22 Abril 2017, 15:08 pm »

Aquí dices:
Sí, sé leer y escribir en el fichero...
y aquí te desdices:
... mi problema está en que no soy capaz de guardar los datos en el fichero jaja

El problema básico es que quieres correr antes de aprender a andar, cuando aún estás gateando.
Aprende a hacer las cosas en orden... no tiene sentido explicar a alguien como construir un avión, si no sabe construir primero una bici.
Te falta lógica... dilucidar qué pasos y en qué orden se deben seguir para lograr un objetivo y luego que tengas eso claro, debes ver que partes de lenguaje realizan cada acción.

Así, primero necesitas aprender más sobre los bucles, las condiciones, mostrar mensajes al usuario y pedirle datos, convertir datos de un tipo a otro, serializarlos... y al final aprender sobre distintos métodos de guardar datos (de texto, binarios, etc...). Te falta base, estudia.
En línea

Fryuio

Desconectado Desconectado

Mensajes: 27


Ver Perfil
Re: Escribir y leer de un fichero con objetos.
« Respuesta #7 en: 22 Abril 2017, 15:10 pm »

Quizas esto ayude:
Código
  1. public static void main(String[] args) throws IOException {
  2.  
  3. BufferedWriter bw = null;  
  4. bw = new BufferedWriter(new FileWriter("/home/eneich/texto.txt", true));
  5. Scanner scanner = new Scanner(System.in);
  6. String input;
  7. while(true){
  8. System.out.print("exit para salir, cualquier cosa para agregar:");
  9. input = scanner.nextLine();
  10. if(input.equals("exit")) break;
  11. bw.write(input+"\n");
  12.  
  13. }
  14. bw.close();  
  15. }
  16.  

Muchas gracias, pero no es mejor para objetos usar el ObjectOutputStream, para hacer escrituras de objetos?
En línea

3n31ch


Desconectado Desconectado

Mensajes: 445


Grandes conocimientos engendran grandes dudas


Ver Perfil
Re: Escribir y leer de un fichero con objetos.
« Respuesta #8 en: 22 Abril 2017, 15:15 pm »

Muchas gracias, pero no es mejor para objetos usar el ObjectOutputStream, para hacer escrituras de objetos?

@_@...

Ya no entiendo tu pregunta.

Basicamente quieres que te explique cada detalle del algoritmo?. Lo que puse ahi fue un ejemplo para escribir en un fichero un simple String (Luego tu lo modificas y aplicas para lo que necesites).

---------------

Estoy deacuerdo con lo que dice NEBIRE. Me da la sensacion de que no tienes mucha idea de lo que estas haciendo.

De igual forma te dejo este link:
http://www.sc.ehu.es/sbweb/fisica/cursoJava/fundamentos/archivos/objetos.htm

Recuerda que como primera instancia tienes que buscar en google, luego en el buscador del foro y luego preguntar.
« Última modificación: 22 Abril 2017, 15:18 pm por 3n31ch » En línea

Fryuio

Desconectado Desconectado

Mensajes: 27


Ver Perfil
Re: Escribir y leer de un fichero con objetos.
« Respuesta #9 en: 22 Abril 2017, 15:16 pm »

Aquí dices:y aquí te desdices:
El problema básico es que quieres correr antes de aprender a andar, cuando aún estás gateando.
Aprende a hacer las cosas en orden... no tiene sentido explicar a alguien como construir un avión, si no sabe construir primero una bici.
Te falta lógica... dilucidar qué pasos y en qué orden se deben seguir para lograr un objetivo y luego que tengas eso claro, debes ver que partes de lenguaje realizan cada acción.

Así, primero necesitas aprender más sobre los bucles, las condiciones, mostrar mensajes al usuario y pedirle datos, convertir datos de un tipo a otro, serializarlos... y al final aprender sobre distintos métodos de guardar datos (de texto, binarios, etc...). Te falta base, estudia.

Qué? Vamos a ver, yo sé lo que hay que usar para leer y escribir en un fichero, pero para un caso concreto no sé enfocarlo para que funcione. Mi duda simplemente era como escribir un array de un objeto de 2 parametros. Porque saber, sé hacerlos uno a uno y que se vayan escribiendo, pero claro eso no es nada óptimo si por ejemplo hay que meter 200 valores. Simplemente quería saber como hacerlo de manera óptima. Mi intención no es que nadie me lo de hecho, solo quería una orientación, nada más.
En línea

Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
escribir hora y fecha en un fichero « 1 2 »
PHP
pana88 13 11,326 Último mensaje 19 Marzo 2008, 13:52 pm
por Noxors
Como leer/Escribir un fichero txt en C# sin saber la ruta
.NET (C#, VB.NET, ASP)
txitxo0 3 10,220 Último mensaje 13 Enero 2009, 13:23 pm
por MANULOMM
escribir fichero txt continuamente
Programación C/C++
raquelsg88 1 2,294 Último mensaje 12 Julio 2013, 10:58 am
por eferion
COdigo para buscar leer escribir fichero c++
Programación C/C++
proxiom 1 2,872 Último mensaje 9 Abril 2015, 13:56 pm
por ivancea96
Escribir y Leer objetos en un solo fichero
Java
HardC0d3 0 2,390 Último mensaje 12 Agosto 2017, 07:25 am
por HardC0d3
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines