Uma vez eu fiz isso gravando no arquivo um único objeto do tipo Vector, mas neste objeto estavam outros objetos que poderiam ser lidos depois de carregar o Vector do arquivo. É mais ou menos assim:
faz com q o objeto gravado a seguir, seja gravado a seguir ao anterior.
O problema ai eh como poder ler os varios objetos gravados, pq msmo usando seu codigo, ele le o ultimo objeto gravado(vector) mas cada vez q vou correndo a app, o tamanho do ficheiro vai aumentando…
E
efren_lopesPJ
É como eu lhe disse. Eu também não consegui ler mais de um objeto do arquivo então eu gravei um único objeto, mas esse objeto é um Vector que contém vários outros objetos. Dessa forma, se você precisar adicionar outro objeto leia o Vector do arquivo, adicione o objeto desejado no Vector e depois salve todo o Vector novamente no arquivo. Foi a solução mais viável que encontrei e acho que não afeta o desempenho do programa.
E
efren_lopesPJ
Cara, acabei de encontrar outra solução pro nosso problema!
Da uma analisada nesse código e depois posta se resolveu o teu problema. Falow.
Cara, adaptei essa solucao ao codigo antigo e nada :sad: .
Mas tb confesso q n dediquei mto tmp nisso.
Olha por agora (dead line) vou usar a forma do objetao :) vou carregar um objecto e gravo todo objeto no file.
mas vou tentando achar solucao... qqr coisa joga ai :P
importjava.io.*;importjava.util.Vector;publicclassSalvar{publicstaticvoidmain(Stringargs[]){try{Stringname1="Teste1";Stringname2="Teste2";Stringname3="Teste3";Vectorv=newVector();v.add(name1);v.add(name2);v.add(name3);FileOutputStreamout=newFileOutputStream("File.dat",true);ObjectOutputStreams=newObjectOutputStream(out);s.writeObject(v);FileInputStreamin=newFileInputStream("File.dat");ObjectInputStreams2=newObjectInputStream(in);//s2.skip(0);try{while(true){Vectorvi=(Vector)s2.readObject();for(intx=0;x<vi.size();x++)System.out.println((String)vi.elementAt(x));//String r = (String) s2.readObject();//System.out.println(r);}}catch(IOExceptione){s2.close();e.printStackTrace();}}catch(Exceptione){e.printStackTrace();}}}