← Desenvolvimento

Dúvida em Java - Classe Serializable

Lida 2324 vezes

Offline

johndays 
Membro
Mensagens 387 Gostos 1
Feedback +3

Troféus totais: 24
Trófeus: (Ver todos)
Super Combination Combination Topic Starter 10 Poll Votes Poll Voter Level 4 Level 3 Level 2 Level 1 100 Posts

Boas, tudo bem?

Tenho uma classe que implementa a interface Serializable com este método

 
Código: (java) [Seleccione]
public Jogo carregarJogo(ObjectInputStream in) throws IOException,
                ClassNotFoundException {
            return (Jogo) in.readObject();
        }

E no MAIN tenho isto

 
Código: (java) [Seleccione]
try {
                   
                        FileInputStream fin = new FileInputStream(fich);
                        ObjectInputStream in = new ObjectInputStream(fin);

                        Jogo s = new Jogo();
                       
                        jogo=s.carregarJogo(in);
                        in.close();
                             

                       
                    } catch (IOException io) {
                         System.out.println("ola2");
                       
                    } catch (ClassNotFoundException cNF) {
                         System.out.println("ola23");
                    }

Ele vai-me sempre para o catch (IOException io) e não estou a entender porquê. Visto que o ficheiro que tenho é um ficheiro .dat com o estado de um objecto jogo, não seria suposto ele carrega-lo sem quaisquer problemas?

Obrigado!
Offline

diogoosorio 
Membro
Mensagens 134 Gostos 1
Feedback +1

Troféus totais: 22
Trófeus: (Ver todos)
Super Combination Combination Topic Starter Poll Voter Level 4 Level 3 Level 2 Level 1 100 Posts 50 Posts

Olá.

Podes postar a Stack Trace do erro?

Em vez dos Olá's, quando fazes o catch da excepção, chama o método printstacktrace().
Offline

johndays 
Membro
Mensagens 387 Gostos 1
Feedback +3

Troféus totais: 24
Trófeus: (Ver todos)
Super Combination Combination Topic Starter 10 Poll Votes Poll Voter Level 4 Level 3 Level 2 Level 1 100 Posts

Olá.

Podes postar a Stack Trace do erro?

Em vez dos Olá's, quando fazes o catch da excepção, chama o método printstacktrace().

Já o fiz, e de facto ajudou-me a perceber onde estava o erro. Desconhecia esse método, por isso utilizei os "olás" de maneira a saber em que catch entrava.

Obrigado.
Offline

diogoosorio 
Membro
Mensagens 134 Gostos 1
Feedback +1

Troféus totais: 22
Trófeus: (Ver todos)
Super Combination Combination Topic Starter Poll Voter Level 4 Level 3 Level 2 Level 1 100 Posts 50 Posts

Já o fiz, e de facto ajudou-me a perceber onde estava o erro. Desconhecia esse método, por isso utilizei os "olás" de maneira a saber em que catch entrava.

Obrigado.

Pronto, ainda bem que pude ajudar.

Abraço