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] 
-------------------------------------------------------------------------

Responder a