Oi, Bom, fiz um teste aqui, e funcionou perfeitamente...
// ------------------------------------- import java.io.*; public class TesteSerializacao implements Serializable { private int campoA; private int campoB; private String str; public int getCampoA() { return campoA; } public void setCampoA(int campoA) { this.campoA = campoA; } public int getCampoB() { return campoB; } public void setCampoB(int campoB) { this.campoB = campoB; } public java.lang.String getStr() { return str; } public void setStr(java.lang.String str) { this.str = str; } public String toString() { StringBuffer b = new StringBuffer(); b.append("("); b.append(campoA); b.append(","); b.append(campoB); b.append(") "); b.append(str); return b.toString(); } public TesteSerializacao(int campoA, int campoB, String str) { this.campoA = campoA; this.campoB = campoB; this.str = str; } public static void main(String[] args) throws FileNotFoundException, IOException, ClassNotFoundException { // gravando ObjectOutputStream o = new ObjectOutputStream(new FileOutputStream("objetos.objects")); TesteSerializacao um = new TesteSerializacao(1, 2, "Objeto 1"); TesteSerializacao dois = new TesteSerializacao(10, 20, "Objeto 2"); o.writeObject(um); o.writeObject(dois); o.flush(); o.close(); // lendo ObjectInputStream i = new ObjectInputStream (new FileInputStream ("objetos.objects")); TesteSerializacao a = (TesteSerializacao)i.readObject(); TesteSerializacao b = (TesteSerializacao)i.readObject(); System.out.println(a + "\n" + b); i.close(); } } // FIM ---------------------------------------------------- ----- Original Message ----- From: "Eduardo de Britto Castro" <[EMAIL PROTECTED]> To: <[EMAIL PROTECTED]> Sent: Monday, March 11, 2002 2:09 PM Subject: Re: [java-list] Serialização de dois objetos no mesmo arquivo Mas é isso mesmo que eu estou tentando fazer: gravar mais de um objeto em um mesmo arquivo e depois os ler. ----- Original Message ----- From: [EMAIL PROTECTED] To: [EMAIL PROTECTED] 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 ----- From: Rodrigo B. de Oliveira To: [EMAIL PROTECTED] 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 ----- From: Eduardo de Britto Castro To: [EMAIL PROTECTED] 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) ------------------------------ LISTA SOUJAVA ---------------------------- http://www.soujava.org.br - Sociedade de Usuários Java da Sucesu-SP dúvidas mais comuns: http://www.soujava.org.br/faq.htm regras da lista: http://www.soujava.org.br/regras.htm historico: http://www.mail-archive.com/java-list%40soujava.org.br para sair da lista: envie email para [EMAIL PROTECTED] -------------------------------------------------------------------------