Pessoal, olá à todos. Estou desenvolvendo um simples programinha para gestão comercial dos pequenos comércios do meu bairro. Eu estava salvando meus objetos criando uma pasta para o mesmo, e salvando um arquivo de texto para cada atributo. Um cliente por exemplo, possuía sua pasta com seu nome e dentro os arquivos NOME, VAL_JÁ_COMPRADO, E-MAIL, etc… Porque assim eu poderia salvar ou ler um de cada vez dependendo da necessidade. Depois pensei em usar Properties para salvar tudo e ler de forma mais fácil, mas não gostei. Até que descobri o ObjectOutputStream <3 perfeito! Mas pensei, quando eu chegar num momento que eu precise criar uma atualização no meu programa, e o cliente, por exemplo, precise receber uma atualização e eu tenha que adicionar uma nova variável nele, o método ObjectInputStream me retorna um erro :/.
Então pensei que poderia criar um novo cliente que estendesse o primeiro, mas também dá erro. Exemplo.
Cliente cliente = new Cliente2(); //Assim funciona.
Cliente2 cliente = new Cliente(); //Assim não funciona.
Então fica a dúvida, alguém sabe uma forma de me ajudar? Como eu poderia fazer minhas atualizações de maneira fácil usando esse sistema? Única forma que consegui pensar foi a cada atualização, criar uma classe que lesse cada cliente, criasse um cliente2 e copiasse manualmente (digo eu escrevendo o código para copiar) cada um dos atributos do cliente passando-os para o cliente2 e então salvasse ele sobrescrevendo o cliente1. Mas ai meu programa teria que fazer isso em todos os arquivos que estivessem recebendo a atualização e dependendo do número, poderia levar muito tempo.
Fiz com ObjectOutputStream porque com arquivos de texto um pedidoDeCliente pesava 86kb, e com dessa outra forma pesa somente 1,1kb. Sem falar na facilidade de salvar e carregar.
Desde logo, obrigado.
PS: Se estiver na área errada, perdão.