Mas é isso mesmo que eu estou tentando fazer: gravar mais de um objeto em um mesmo arquivo e depois os ler.
----- Original Message -----
Sent: Wednesday, March 06, 2002 8:53 AM
Subject: RE: [java-list] Serialização de dois objetos no mesmo arquivo



 
Em uma segunda olhada no código percebi que vc está passando true como segundo argumento do constructor FileOutputStream. Isso significa utilizar modo append. Essa é provavelmente a causa do problema. O arquivo já devia existir anteriormente comresquicios de testes anteriores, não? Quando você manda abrir o arquivo para leitura, você está lendo do início do arquivo novamente.
 
Não passe este segundo argumento.
 
Rodrigo
-----Original Message-----
From: Eduardo de Britto Castro [mailto:[EMAIL PROTECTED]]
Sent: domingo, 3 de março de 2002 23:37
To: [EMAIL PROTECTED]
Subject: Re: [java-list] Serialização de dois objetos no mesmo arquivo

Eu já fiz isso, mas mesmo assim o problema acontece. Posso até fazer um programa para gravar e outro para ler que dá problema no que lê.
----- Original Message -----
Sent: Saturday, March 02, 2002 3:47 PM
Subject: Re: [java-list] Serialização de dois objetos no mesmo arquivo

flush e close a primeira stream antes de prosseguir...
----- Original Message -----
Sent: Wednesday, February 27, 2002 2:49 PM
Subject: [java-list] Serialização de dois objetos no mesmo arquivo

Porque depois de serializar mais de um objeto no mesmo arquivo ocorre uma excessao ao tentar recuperar o segundo?
 
--------------------------------------- GRAVACAO OK ---------------------------------------
MeuObjeto obj1, obj2;
ObjectOutputStream out = new ObjectOutputStream (new FileOutputStream ("Serializacao.dat",true));
...
out.writeObject (obj1);
out.writeObject (obj2);
---------------------------------------       LEITURA     ---------------------------------------
MeuObjeto o1, o2;
ObjectInputStream in = new ObjectInputStream (new FileInputStream ("Serializacao.dat"));
o1 = (MeuObjeto) in.readObject();
o2 = (MeuObjeto) in.readObject(); // Excessao ocorre aqui.
 
------------------------------- AQUI ESTA A EXCESSAO --------------------------------
Exception in thread "main" java.io.StreamCorruptedException
        at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1291)
        at java.io.ObjectInputStream.readObject(ObjectInputStream.java:322)
        at Serializacao.main(Serializacao.java:25)

Responder a