Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Leitura de objeto serializado desconhecido

Na video aula, o objeto de exemplo que foi serializado em arquivo é do tipo "String". No momento de realizar a leitura do arquivo para recuperar o objeto serializado, é necessário que façamos o cast do tipo "Object" para o tipo "String", mas sabemos como fazer corretamente esse cast justamente porque conhecemos o objeto que foi armazenado no arquivo binário.

Minha duvida com relação a isso é, se estivéssemos tendo que ler um arquivo com o qual não tivemos qualquer contato antes, como poderíamos identificar o tipo original do(s) objeto(s) armazenado(s) nele? Esse tipo de informação também é gravada no arquivo binário (justamente para recuperações futuras), ou existe alguma outra forma para descobrirmos isso?

1 resposta
solução!

Oi André,

Ao trabalhar com arquivos é sempre importante que exista um "acordo" do formato do arquivo a ser escrito/lido pela aplicação, justamente para não ter problemas de incompatibilidades.

Não tem como saber qual o tipo de objeto no arquivo, sendo que no máximo o que daria para fazer é testar via operador instanceof:

Object obj = ois.readObject();

//checando se é uma String:
if (obj instanceof String) {
    String str = (String)obj;
    //...
}

Bons estudos!