Estoy haciendo un trabajo para la universidad y tengo un problema, me piden que cargue por teclado n cantidad de objetos (ejemplares) en un archivo y luego muestre el archivo.
El problema es cuando intento mostrar el archivo no sale nada, solo figura el mensaje "Fin del archivo" pero no muestra el objeto.
Les dejo las clases para que puedan ver el codigo:
Clase Principal:
Código Java:
Ver original
public class ExamenFinal { /** * @param args the command line arguments */ // TODO code application logic here Archivo a; Ejemplar ejemplar; int codigo,tipo,origen,stock,op; //System.out.println("Ingrese el nombre del archivo: "); //nombre=In.readLine(); a = new Archivo(nombre); codigo=In.readInt(); while(codigo!=-1){ descripcion=In.readString(); tipo=In.readInt(); origen=In.readInt(); stock=In.readInt(); ejemplar = new Ejemplar(codigo,descripcion,tipo,origen,stock); a.addArchivo(ejemplar); codigo=In.readInt(); } do{ op=In.readInt(); switch(op){ break; } }while(op!=5); } }
Clase Ejemplar:
Código Java:
Ver original
public class Ejemplar { private int codigo; private int tipo; private int origen; private int stock; this.codigo = codigo; this.descripcion = descripcion; this.tipo = tipo; this.origen = origen; this.stock = stock; } public int getCodigo() { return codigo; } public void setCodigo(int codigo) { this.codigo = codigo; } return descripcion; } this.descripcion = descripcion; } public int getTipo() { return tipo; } public void setTipo(int tipo) { this.tipo = tipo; } public int getOrigen() { return origen; } public void setOrigen(int origen) { this.origen = origen; } public int getStock() { return stock; } public void setStock(int stock) { this.stock = stock; } @Override return "Ejemplar: " + "codigo: " + codigo + "\n descripcion: " + descripcion + "\n tipo: " + tipo + "\n origen: " + origenDes[origen] + "\n stock: " + stock; } }
Clase Archivo:
Código Java:
Ver original
import java.io.*; import java.util.*; /** * * @author Fer */ public class Archivo { String archivo; archivo=nombre; } try{ if(oos!=null) oos.close(); if(fos!=null) fos.close(); r+="Error al escribir el archivo "+e.getMessage(); } return r; } try{ if(fis!=null) fis.close(); if(ois!=null) ois.close(); r+="Error al leer el archivo "+e.getMessage(); } return r; } try{ if(o!=null) oos.writeObject(o); r+="Error al guardar el objeto "+e.getMessage(); }finally{ r+=cerrarEscritura(); } return r; } Ejemplar aux=null; try{ while(true){ aux=(Ejemplar) ois.readObject(); r+="\n"+aux.toString(); } r+="Fin del archivo"; } r+="Error al mostrar el archivo "+e1.getMessage(); }finally{ r+=cerrarLectura(); } return r; } }
Alguien me podria ayudar? desde ya muchas gracias!
Saludos!