Ricardo,
No primeiro programa que vc. fez, substitua a linha >>FileOutputStream out =
new FileOutputStream(file);>> por >>FileOutputStream out = new
FileOutputStream(file, true)>>
O "true" indica que vc. quer "append" alguma coisa; ao inves de sobrepor o
que ja existe.
Airton
----- Original Message -----
From: Ricardo Neisse <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Wednesday, November 24, 1999 5:29 PM
Subject: [SouJava-J] Serializacao de objetos
> Estou estudando a serializacao de objetos em Java e retirei o seguinte
> fonte do tutorial de Java da sun :
>
> File file = new File("objetos.dat");
> if(!file.exists()){
> file.createNewFile();
> }
> FileOutputStream out = new FileOutputStream(file);
> ObjectOutputStream s = new ObjectOutputStream(out);
> s.writeObject(o);
> s.flush();
> s.close();
> out.close();
>
> este fonte funciona bem, mas os objetos salvos sao sempre sobre-escritos,
> o arquivo sempre tem somente um objeto gravado.
> Entao decidi substituiar algumas linhas e o codigo ficou assim :
>
> File file = new File("objetos.dat");
> if(!file.exists()){
> file.createNewFile();
> }
> * RandomAccessFile randomfile = new RandomAccessFile(file,"rw");
> * randomfile.seek(randomfile.length());
> * FileOutputStream out = new FileOutputStream(randomfile.getFD());
> ObjectOutputStream s = new ObjectOutputStream(out);
> s.writeObject(o);
> s.writeObject(o);
> s.flush();
> s.close();
> out.close();
>
> agora quando vou salvar os objetos eu utilizei um arquivo de acesso
> randomico e sempre posiciono no fim do arquivo e salvo os objetos no
> final.
> utilizo o seguinto fonte para ler:
>
> try {
> FileInputStream in = new FileInputStream("objetos.dat");
> ObjectInputStream s = new ObjectInputStream(in);
> objeto o;
> while(true){
> try {
> // classe objeto
> o = (objeto)s.readObject();
> } catch (Exception exc){
> System.out.println(exc);
> break;
> }
> // imprime informacoe sobre o obj na tela
> o.print();
> }
> s.close();
> in.close();
> } catch(Exception ex) {
> System.out.println(ex);
> }
>
> Mas quando vou ler os objetos so consigo ler o primeiro objeto gravado e
> da o seguinte erro :
>
> java.io.EOFException: Expecting code
>
> Alguem sabe o que pode ser isto ou o que estou fazendo de errado ???
>
> +-----------------------------------------------------+
> | Ricardo Neisse |
> | Ciencia da Computacao - Universidade de Passo Fundo |
> | Fone : xxx-54-331-1251 |
> | Home Page http://lci.upf.tche.br/~7691 |
> +-----------------------------------------------------+
>
>
> --------------------------- LISTA SOUJAVA ---------------------------
> http://www.soujava.org.br - Sociedade de Usuários Java da Sucesu-SP
> [para sair da lista: http://www.soujava.org.br/forum/cadastrados.htm]
> ---------------------------------------------------------------------
>
--------------------------- LISTA SOUJAVA ---------------------------
http://www.soujava.org.br - Sociedade de Usuários Java da Sucesu-SP
[para sair da lista: http://www.soujava.org.br/forum/cadastrados.htm]
---------------------------------------------------------------------