IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Java Discussion :

[Serialisation]Serialisation / Deserialisation.


Sujet :

Java

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 18
    Points : 11
    Points
    11
    Par défaut [Serialisation]Serialisation / Deserialisation.
    Bonjour tout le monde

    J'aurais besoin de votre aide pour la serialisation et deserialisation d'objet en java.

    Voici le travail que j'ai déjà fais :

    Serialisation :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    public static void serialStylo (Stylo sty)
      {
    	  try
    	  {
    		  ObjectOutputStream objFic;
    		  objFic = new ObjectOutputStream(new FileOutputStream("stylo.ser", true));
    		  objFic.writeObject(sty);
    		  objFic.flush();
    		  objFic.close();
    	  }
    	  catch(Exception e){System.err.println(e); System.exit(1);}
      }
    Deserialisation :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    public static void serialStylo (Stylo sty)
    {
    	  try
    	  {
    	  	  FileInputStream fic = new FileInputStream("stylo.ser");
    		  ObjectInputStream objFic = new ObjectInputStream(fic);
    		  Stylo stylo = (Stylo) objFic.readObject();
    		  System.out.println(stylo.getRef()+" "+stylo.getMarque()+" "+stylo.getPrix()+" "+stylo.getCouleur());
    		  objFic.close();
    	  }
    	  catch(Exception e){System.err.println(e); System.exit(1);}
    }
    J'ai fais différents tests avec ces quelques methodes et j'ai remarqué que quand je déserialisais mon Stylo, qui est composé de 4 attributs (String, String, double, String)

    il m'affiche :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    null null 0.0 rouge
    Alors que les 3 premiers attributs sont renseigner correctement.

    PLEASE HELP ME
    Merci...

  2. #2
    Membre expérimenté
    Avatar de zekey
    Profil pro
    Inscrit en
    Février 2005
    Messages
    1 036
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 1 036
    Points : 1 403
    Points
    1 403
    Par défaut
    Ton stylo il implemente bien serializable ?

  3. #3
    Membre éprouvé

    Profil pro
    Inscrit en
    Juin 2004
    Messages
    882
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2004
    Messages : 882
    Points : 948
    Points
    948
    Par défaut
    T'es tu assuré que les trois premiers attributs n'ont pas le modifier "transient"??

  4. #4
    Membre éprouvé

    Profil pro
    Inscrit en
    Juin 2004
    Messages
    882
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2004
    Messages : 882
    Points : 948
    Points
    948
    Par défaut
    Citation Envoyé par ze_key
    Ton stylo il implemente bien serializable ?
    Il faut noter que si stylo n'implémente pas l'interface Serializable alors la méthode writeObject ou readObject aurait levé l'exception NotSerializableException

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 18
    Points : 11
    Points
    11
    Par défaut
    Ouais C bon j'implementes bien... Sinon il m'aurais afficher l'exception
    T'es tu assuré que les trois premiers attributs n'ont pas le modifier "transient"??
    C quoi transient ???

  6. #6
    Expert éminent sénior
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    Salut,

    Citation Envoyé par neXistPa
    C quoi transient ???
    Cela permet de ne pas sérialiser certains champs...
    FAQ : Que signifie le mot-clé transient ?...


    Tu n'aurais pas redéfini les méthodes writeObject() et readObject() par hasard ?
    Sinon montre nous le code de ta classe

    a++

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 18
    Points : 11
    Points
    11
    Par défaut
    Je viens juste de trouver pourquoi ça ne fonctionnait pas
    Les 3 attributs qui n'étaient pas serialiser provenait de la classe mère de Stylo : Article.
    J'ai implementé Serializable dans cette classe, et ça marche, C bon

    Merci en tout cas

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Serialisation] Serialiser XmlNode
    Par al2000 dans le forum Windows Presentation Foundation
    Réponses: 6
    Dernier message: 13/04/2012, 12h02
  2. Réponses: 6
    Dernier message: 20/10/2010, 16h51
  3. Réponses: 4
    Dernier message: 23/01/2007, 16h23
  4. [Info]Sérialisation / Désérialisation...
    Par onlytoine dans le forum Général Java
    Réponses: 3
    Dernier message: 27/08/2005, 21h58
  5. Réponses: 4
    Dernier message: 20/05/2005, 15h14

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo