Java - Problema con la entrada de objetos a fichero

   
Vista:

Problema con la entrada de objetos a fichero

Publicado por Jorge (1 intervención) el 05/04/2014 01:12:33
Hola, mi problema es el siguientes, desde el main del programa llamo a esta funcion altaVagon, que os pongo a continuación, y a mostrarVagon. El problema es que cuando llamo a la funcion mostrarVagon, solo me muestra uno de los objetos y a continuación me aparece el erro "invalid type code: AC". La verdad es que no se donde esta el error probé de mil manera y nada.

public void altaVagon () throws ClassNotFoundException{
double carga;
String matri;
Vagon vag;

System.out.println( " INTRODUZCA LA MATRICULA: ");
matri=Entrada.cadena();

System.out.println( " INTRODUZCA LA CAPACIDAD DE CARGA: ");
carga=Entrada.real();

//Abrimos fichero para escritura y guardamos objeto

FileOutputStream escritura =null;
ObjectOutputStream fentrada =null;
try{
escritura = new FileOutputStream (vagones,true);
fentrada = new ObjectOutputStream(escritura);
fentrada.flush();
escritura.flush();
fentrada.reset();
vag=new Vagon(matri,carga);
fentrada.writeUnshared(vag);

} catch (FileNotFoundException e) {
System.out.println(e.getMessage());
} catch (IOException e) {
System.out.println(e.getMessage());
} finally {
try {
if(escritura!=null) escritura.close();
if(fentrada!=null) fentrada.close();
} catch (IOException e) {
System.out.println(e.getMessage());
}
}
}


public void mostrarVagones()
throws ClassNotFoundException{

Vagon vag;
FileInputStream fsalida=null;
ObjectInputStream datosFichero=null;

try{
//abrimos el fichero para lectura
fsalida = new FileInputStream(vagones);
datosFichero =new ObjectInputStream (fsalida);
//leemos objetos del fichero, hasta final de fichero
do{
vag = (Vagon) datosFichero.readObject();
System.out.println(vag.getAtributos());
}while (datosFichero!=null);

}catch (IOException ex){
System.out.println(ex.getMessage());
}finally {
try {
if (fsalida != null) {
fsalida.close();
}
if (datosFichero != null) {
datosFichero.close();
}
} catch (IOException e) {
System.out.println(e.getMessage());
}
}
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder