Bonjour, je sais mon titre n'est pas très explicite mais je vais m'expliquer :

J'utilise un programme qui sauvegarde une class étendue par Hashtable<String, Object> dans un fichier très simplement :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
ObjectOutputStream out = new ObjectOutputStream(new FileOutputStream(f));
out.writeObject(dataHastable);                        
out.close();
( code du programme d'origine je n'y ai pas accès )

Où dataHastable est la class étendue.

Maintenant je souhaite lire ce fichier depuis mon application pour cela j'ai essayé comme suit :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
ObjectInputStream in = new ObjectInputStream(new FileInputStream(f));
dataHastable= (LecteurHastable)in.readObject();
in.close();
( code de mon programme )

mais il ne veut pas puisque le package et la class n'ont pas le même nom que le programme l'ayant généré. l'exception qui est levée est java.lang.ClassCastException

En gros la class d'origine ne peut pas être "castée" par ma class .

Maintenant si je mets le meme nom de package et le même nom de class ca marche, mais ca me dérange un peu.

Auriez vous une idée ?