Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2822 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  [java] probleme de serialisation

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[java] probleme de serialisation

n°310459
ZuL
Posté le 15-02-2003 à 19:24:41  profilanswer
 

tout d'abord une photo de mon diagramme de classes
 
http://www.quoimagueule.com/album/zul/photos/2003-2-15-19_21_12.jpg
 
 
quand je serialize mon objet Session, qui contient donc un tableua de dossier, un tab de jury et un tab d'ecoles, tout marche bien
 
quand je deserialize comme ca :  
 

Code :
  1. try{
  2.         ObjectInputStream ois = new ObjectInputStream(new FileInputStream("session.txt" ));
  3.         Session tmp = (Session) ois.readObject();
  4.  }
  5.         catch (java.io.IOException e) {
  6.        e.printStackTrace();
  7.      }
  8.      catch (ClassNotFoundException e) {
  9.         e.printStackTrace();
  10.      }


 
 
si la super classe personne n'a pas de constructeur sans arguments ca me donne :  
 
ca
 

Code :
  1. [cpp]java.io.InvalidClassException: PersonneMissing no-arg constructor for class
  2. at java.io.ObjectInputStream.inputObject(ObjectInputStream.java:1350)
  3. at java.io.ObjectInputStream.readObject(ObjectInputStream.java:386)
  4. at java.io.ObjectInputStream.inputClassFields(ObjectInputStream.java:2263)
  5. at java.io.ObjectInputStream.defaultReadObject(ObjectInputStream.java:519)
  6. at java.io.ObjectInputStream.inputObject(ObjectInputStream.java:1412)
  7. at java.io.ObjectInputStream.readObject(ObjectInputStream.java:386)
  8. at java.io.ObjectInputStream.inputArray(ObjectInputStream.java:1142)
  9. at java.io.ObjectInputStream.readObject(ObjectInputStream.java:374)
  10. at java.io.ObjectInputStream.inputClassFields(ObjectInputStream.java:2263)
  11. at java.io.ObjectInputStream.defaultReadObject(ObjectInputStream.java:519)
  12. at java.io.ObjectInputStream.inputObject(ObjectInputStream.java:1412)
  13. at java.io.ObjectInputStream.readObject(ObjectInputStream.java:386)
  14. at java.io.ObjectInputStream.readObject(ObjectInputStream.java:236)
  15. at Launch.loadMenu(Launch.java:32)
  16. at StartAppli.main(StartAppli.java:16)


 
ou ca (plus rarement)
 
[/cpp]
 
ou plus rarement :  
 

Code :
  1. java.io.InvalidClassException: Session; Local class not compatible: stream classdesc serialVersionUID=-1030363450047633487 local class serialVersionUID=-6174836046218582669
  2. at java.io.ObjectStreamClass.validateLocalClass(ObjectStreamClass.java:523)
  3. at java.io.ObjectStreamClass.setClass(ObjectStreamClass.java:567)
  4. at java.io.ObjectInputStream.inputClassDescriptor(ObjectInputStream.java:936)
  5. at java.io.ObjectInputStream.readObject(ObjectInputStream.java:366)
  6. at java.io.ObjectInputStream.readObject(ObjectInputStream.java:236)
  7. at java.io.ObjectInputStream.inputObject(ObjectInputStream.java:1186)
  8. at java.io.ObjectInputStream.readObject(ObjectInputStream.java:386)
  9. at java.io.ObjectInputStream.readObject(ObjectInputStream.java:236)
  10. at Launch.loadMenu(Launch.java:32)
  11. at StartAppli.main(StartAppli.java:16)


 
et si je colle un constructeur vide ds Personne
du stle
 
Personne()
{}
 
ca plante plus mais ca deserialize rien.
 
qqun aurait une idée ? c'est super important  
merci d'avance
 
 
(je rentrerai tard ds la soirée)


Message édité par ZuL le 15-02-2003 à 19:27:55
mood
Publicité
Posté le 15-02-2003 à 19:24:41  profilanswer
 

n°310467
ZuL
Posté le 15-02-2003 à 19:49:46  profilanswer
 

nan mais quel con...tout ca parce que Personne etait pas serializable
mais qué couillon
 
 
bon juste une question alors, comment on recaste un int en char ?
parce que String(1) ca marche pas :/

n°310529
phenixl
Posté le 15-02-2003 à 23:49:47  profilanswer
 

ZuL a écrit :

nan mais quel con...tout ca parce que Personne etait pas serializable
mais qué couillon
 
 
bon juste une question alors, comment on recaste un int en char ?
parce que String(1) ca marche pas :/


 
J'allais le dire (pour Personne)
 
Sinon: Character.forDigit(nombre, 10) (il y a plus simple mais bon...)

n°310531
Taiche
(╯°□°)╯︵ ┻━┻
Posté le 16-02-2003 à 00:00:37  profilanswer
 

Euh... pour caster un int en char, c'est tout bête :
int i = 32;
char c = (char) i;
 
Et vala, c est le caractère correspondant au code ASCII 32 (soir espace).


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  [java] probleme de serialisation

 

Sujets relatifs
[HTML] Probleme tableau + images pour faire un cadre[Java] JavaBeans, quand et pkoi ?
[C] Probleme de #define...[JAVA] mettre du sons dans mon programme
probleme d'addition(noob);Probleme avec filectime()
[Java] generation de code a partir de rational rose[vb] Probleme de test de chaine
[Java][RESOLU] Compilation en cours d'execution[JAVA] Probleme d'evenements lié a la serialisation(enfin je pense)...
Plus de sujets relatifs à : [java] probleme de serialisation


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR