Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Como desserializar um arquivo gravado com versão anterior

Seguindo o exemplo mostrado no curso Java 7, onde foi sserializado o arquivo Cliente.bin a partir da classe Cliente, digamos que a classe Cliente possuí o serialVersionUID 1 e a classe possuí 3 atributos, e foi gravado o arquivo Cliente.bin.

Após isso, foi eliminado um atributo e o serialVersionUID mudou para 2.

Tem alguma forma de desserializar o arquivo utilizando a serialVersionUID 1?.... o java dá alguma ferramenta para fazer isso?

Grata

2 respostas
solução!

Oi Diva, tudo bem?

Se você precisar ler os objetos na versão antiga e nova ao mesmo tempo e eles forem realmente um pouco diferentes, é possível utilizar o método resolveObject (https://docs.oracle.com/javase/7/docs/api/java/io/ObjectInputStream.html#resolveObject(java.lang.Object)) para converter o formato antigo.

Outra abordagem seria sobreescrever os métodos

private void writeObject(java.io.ObjectOutputStream out)
    throws IOException;

private void readObject(java.io.ObjectInputStream in)
    throws IOException, ClassNotFoundException;

dessa forma é possível customizar o processo de serialização/deserialização do seu objeto (=

Olá Otávio Felipe, obrigada pela sua atenção, vou tentar

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software