O problema é que quando eu crio um novo arquivo para guardar os dados, ele ignora o arquivo existente e sobreescreve-o… Preciso fazer com que ele não sobre sobre-escreva o arquivo existente… Se ele ja existir, adicione no arquivo… se nao, crie o novo!
[quote=ganondorfan]Dificil de entender o que você quer com esse trechinho de codigo que você postou.
[/quote]
Obrigado pela resposta…
Esse trechinho é a parte do código onde eu gravo o objeto no arquivo… Porém ele esta reescrevendo o arquivo, ao invés de adicionar os objetos criados ao arquivo ja existente… entendeu?
Um dos construtores do FileOutputStream permite especificar se você deseja criar o stream em modo “append”. Basta você alterar o seu código para o seguinte:
out = new ObjectOutputStream(new FileOutputStream(System.getProperty("user.dir") + File.separator + "project1.bin", true));
Um dos construtores do FileOutputStream permite especificar se você deseja criar o stream em modo “append”. Basta você alterar o seu código para o seguinte:
out = new ObjectOutputStream(new FileOutputStream(System.getProperty("user.dir") + File.separator + "project1.bin", true));
Obrigado, eu já havia tentado isso… Continuou da mesma forma!
Sobre-escrevendo!
Por que a serialização acaba por ser a tradução de um trecho da memória (que em Java é a instância de uma classe) para IO.
Como seria possível dizer que apenas o valor de uma variável de uma instância mudou e só deve gravar o valor desta variavel alterada em disco e o resto não?
Ainda mais se for instancias diferentes, não ha forma de saber, pois os endereços na memória muda, e por ai fora.
Bem não sei se deu para entender tb n é fácil explicar, não me ocorre nenhuma maneira clara de explicar isto. Mas resumindo não dá mesmo.
E outra serialização é um processo lento e pesado.
Provavelmente para o que vc deve querer fazer é melhor uma outra abordagem.
[quote=eduveks]Isto que vc quer fazer não faz muito sentido.
Por que a serialização acaba por ser a tradução de um trecho da memória (que em Java é a instância de uma classe) para IO.
Como seria possível dizer que apenas o valor de uma variável de uma instância mudou e só deve gravar o valor desta variavel alterada em disco e o resto não?
Ainda mais se for instancias diferentes, não ha forma de saber, pois os endereços na memória muda, e por ai fora.
Bem não sei se deu para entender tb n é fácil explicar, não me ocorre nenhuma maneira clara de explicar isto. Mas resumindo não dá mesmo.
E outra serialização é um processo lento e pesado.
Provavelmente para o que vc deve querer fazer é melhor uma outra abordagem.[/quote]
você explicou como um professor, e eu entendi perfeitamente
Realmente o mais apropriado será procurar outra abordagem. Obrigado pela resposta.