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

avec Java Discussion :

[Sérialisation] résultat non souhaité


Sujet :

avec Java

  1. #1
    Inactif   Avatar de Deallyra
    Profil pro
    Étudiant
    Inscrit en
    Février 2007
    Messages
    1 997
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2007
    Messages : 1 997
    Points : 1 769
    Points
    1 769
    Par défaut [Sérialisation] résultat non souhaité
    Bonjour,

    J'ai une classe IODATA me permettant de faire la sérialisation de mes listes d'objets.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
     
        public <T> void serializer(T t, String fichierSortie){
            try {
                // ouverture d'un flux de sortie vers le fichier nomObjet.serial
                FileOutputStream fos = new FileOutputStream(fichierSortie + ".serial");
     
                // création d'un "flux objet" avec le flux fichier
                ObjectOutputStream oos= new ObjectOutputStream(fos);
                try {
                    // sérialisation : écriture de l'objet dans le flux de sortie
                    oos.writeObject(t);
                    // on vide le tampon
                    oos.flush();
                    System.out.println(t + " a ete serialise");
                } finally {
                    //fermeture des flux
                    try {
                        oos.close();
                    } finally {
                        fos.close();
                    }
                }
            }
            catch(IOException ioe) {
                ioe.printStackTrace();
            }
        }
    Bien que je ne maîtrise pas les spécifications de ce code, je lui envoie un objet et un String puis il me fait la sérialisation.

    Le problème est que, lorsque je souhaite sérialiser un objet :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    IOData iodata = new IOData();
     
    ArrayList<Avion> desAvions = new ArrayList<Avion>();
     
    Avion a1 = new Avion("Airbus A340-300");
    Avion a2 = new Avion("Airbus A340-300");
    Avion a3 = new Avion("Airbus A340-300");
    Avion a4 = new Avion("Airbus A340-300");
    Avion a9 = new Avion("Airbus A340-300");
     
    iodata.serializer(desAvions, "avion");
    Cependant, le rendu dans le fichier avion.serial est comme suit :


    J'aimerai comprendre pourquoi je n'arrive pas à sérialiser mon ArrayList d'avion.
    *Si la réponse vous convient, n'oubliez pas le tag
    *Exprimez vous dans un français correct; on prend le temps de vous lire, prenez le temps de bien écrire.
    *Et comment on interprète votre code? N'oubliez pas la balise!

    *Pour une mise en page simple avec des divs.
    *Pour faire des formulaires xHTML CSS.

  2. #2
    Membre habitué Avatar de erictoguem
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2006
    Messages
    150
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2006
    Messages : 150
    Points : 187
    Points
    187
    Par défaut
    est ce que ta classe avion est sérialisable?
    JAVA : Plus qu'un langage, une façon de penser

  3. #3
    Inactif   Avatar de Deallyra
    Profil pro
    Étudiant
    Inscrit en
    Février 2007
    Messages
    1 997
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2007
    Messages : 1 997
    Points : 1 769
    Points
    1 769
    Par défaut
    Oui.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    public class Avion implements Serializable {
    *Si la réponse vous convient, n'oubliez pas le tag
    *Exprimez vous dans un français correct; on prend le temps de vous lire, prenez le temps de bien écrire.
    *Et comment on interprète votre code? N'oubliez pas la balise!

    *Pour une mise en page simple avec des divs.
    *Pour faire des formulaires xHTML CSS.

  4. #4
    Expert confirmé

    Homme Profil pro
    SDE
    Inscrit en
    Août 2007
    Messages
    2 013
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : SDE

    Informations forums :
    Inscription : Août 2007
    Messages : 2 013
    Points : 4 324
    Points
    4 324
    Par défaut
    Salut,

    Et comme ca, ca marcherais pas mieux ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    IOData iodata = new IOData();
     
    ArrayList<Avion> desAvions = new ArrayList<Avion>();
     
    desAvions.add(new Avion("Airbus A340-300"));
    desAvions.add(new Avion("Airbus A340-300"));
    desAvions.add(new Avion("Airbus A340-300"));
    desAvions.add(new Avion("Airbus A340-300"));
    desAvions.add(new Avion("Airbus A340-300"));
     
    iodata.serializer(desAvions, "avion");
    De plus si le puis me permettre, j'aurais tendence à rendre static la méthode de sérialisation, ça éviterait d'instancier un IoData pour rien. De plus avec un import static ca améliorerait encore plus la visibilitée
    http://alaindefrance.wordpress.com
    Certifications : SCJP6 - SCWCD5 - SCBCD5 - SCMAD1
    SDE at BitTitan

  5. #5
    Inactif   Avatar de Deallyra
    Profil pro
    Étudiant
    Inscrit en
    Février 2007
    Messages
    1 997
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2007
    Messages : 1 997
    Points : 1 769
    Points
    1 769
    Par défaut
    Oui j'ai oublié de le rajouter dans le code >.<

    Enfin, dans celui que j'ai posté sur DVP.

    En fait cela venait de ma fonction de sérialization :/

    Merci quand même Kazou
    *Si la réponse vous convient, n'oubliez pas le tag
    *Exprimez vous dans un français correct; on prend le temps de vous lire, prenez le temps de bien écrire.
    *Et comment on interprète votre code? N'oubliez pas la balise!

    *Pour une mise en page simple avec des divs.
    *Pour faire des formulaires xHTML CSS.

  6. #6
    Expert confirmé

    Homme Profil pro
    SDE
    Inscrit en
    Août 2007
    Messages
    2 013
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : SDE

    Informations forums :
    Inscription : Août 2007
    Messages : 2 013
    Points : 4 324
    Points
    4 324
    Par défaut
    Citation Envoyé par Deallyra Voir le message
    cela venait de ma fonction de sérialization :/
    Ca venais d'où (que ca puisse aider d'autres et répondre à ma curiosité) ?
    http://alaindefrance.wordpress.com
    Certifications : SCJP6 - SCWCD5 - SCBCD5 - SCMAD1
    SDE at BitTitan

  7. #7
    Inactif   Avatar de Deallyra
    Profil pro
    Étudiant
    Inscrit en
    Février 2007
    Messages
    1 997
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2007
    Messages : 1 997
    Points : 1 769
    Points
    1 769
    Par défaut
    C'était au niveau de mes try catch finally
    *Si la réponse vous convient, n'oubliez pas le tag
    *Exprimez vous dans un français correct; on prend le temps de vous lire, prenez le temps de bien écrire.
    *Et comment on interprète votre code? N'oubliez pas la balise!

    *Pour une mise en page simple avec des divs.
    *Pour faire des formulaires xHTML CSS.

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

Discussions similaires

  1. résultat non souhaité d'une requete sql
    Par mayers dans le forum Requêtes
    Réponses: 4
    Dernier message: 25/07/2007, 00h01
  2. suppression de context non souhaité
    Par 205 dans le forum Tomcat et TomEE
    Réponses: 14
    Dernier message: 26/09/2006, 14h27
  3. [Débutant] Enregistrement non souhaité.
    Par Monsieur Peck dans le forum Access
    Réponses: 1
    Dernier message: 11/06/2006, 14h40
  4. Requete selection : résultat non modifiable
    Par patal dans le forum Access
    Réponses: 3
    Dernier message: 09/05/2006, 17h31
  5. Raffraichissement de Combobox non souhaité
    Par Kara dans le forum Composants VCL
    Réponses: 12
    Dernier message: 04/11/2005, 09h44

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