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 du programme d'origine je n'y ai pas accès )
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();
Où dataHastable est la class étendue.
Maintenant je souhaite lire ce fichier depuis mon application pour cela j'ai essayé comme suit :
( code de mon programme )
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();
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 ?
Partager