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 :

Problème de sérialisation


Sujet :

avec Java

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2013
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2013
    Messages : 18
    Points : 10
    Points
    10
    Par défaut Problème de sérialisation
    Bonjour,
    j'ai un gros problème avec un projet que j'ai à faire , (je suis en première informatique ). Il s'agit d'un projet de création de tournoi. J'ai réussi à tout faire,mis à par la sauvegarde/chargement d'un tournoi... J'ai perdu plusieurs heures,et je suis vraiment à cours d'idée. Lorsque je créé une sauvegarde le fichier se fait bien,et il y a bien des infos dedans,donc je pense que le problème vient du chargement : lorsque je charge le fichier IL NE SE PASSE RIEN ! Voici le bout de code en question (je ne peux pas tout mettre,car le projet est coté,et le copier/coller est interdit,j'espere donc que je donne assez d'infos


    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
    28
    29
    30
    31
    32
    33
    34
    35
    36
    public void writeObject() throws IOException{
    try{
        String filename=System.getProperty("user.home")
        + System.getProperty("file.separator")
        + "tournament.sav";
        FileOutputStream sortie=new FileOutputStream(filename);
        ObjectOutputStream p = new ObjectOutputStream(sortie);
        p.writeObject(this);
        p.flush();
        p.close();
    }
    catch(IOException ioe){
        System.out.println("erreur ");
    }
    }
    public MainTournament readObject() throws IOException, ClassNotFoundException {
        String filename=System.getProperty("user.home")
        + System.getProperty("file.separator")
        + "tournament.sav";
        MainTournament load = new MainTournament();
    try{
        load=null;
        FileInputStream fis = new FileInputStream(filename);
        ObjectInputStream ois = new ObjectInputStream(fis);
        load = (MainTournament)ois.readObject();
        ois.close();
    }
     
    catch(IOException ioe){
        System.out.println("erreur dans la sérialisation : ");
    }
    catch(ClassNotFoundException cnfe){
        System.out.println (" classe non trouvée : ");
    }
     return load;
    }
    Et ci-dessous la méthode faisant appel au chargement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
       public static void load()
           throws TournamentException, IOException ,ClassNotFoundException{
            String filename=System.getProperty("user.home")
           + System.getProperty("file.separator")
           + "tournament.sav";
                MainTournament tournoi2=new MainTournament();
                tournoi=tournoi2.readObject();
           System.out.println("Tournoi chargé.");
           goMenu();
    }
    tournoi est évidemment l'objet sensé être remplacé .
    Merci de bien vouloir m'aider ,je suis vraiment à cours d'idée...

  2. #2
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 551
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 551
    Points : 21 607
    Points
    21 607
    Par défaut
    Bonjour,

    Citation Envoyé par yves1993 Voir le message
    Voici le bout de code en question (je ne peux pas tout mettre,car le projet est coté,et le copier/coller est interdit,j'espere donc que je donne assez d'infos
    Dans ce cas-là la solution est très simple : il faut faire un autre programme, tout petit, qui n'a rien à voir avec le premier, qui a le même problème que le premier, et qui ne fait rien d'autre que montrer le problème.

    En fait, il faut toujours faire ça quand on demande de l'aide. Le fait qu'on ait pas le droit de montrer le code du gros programme n'y change rien. Il faut en montrer un petit, qui ne fait rien à part montrer le problème.

    Citation Envoyé par yves1993 Voir le message
    Merci de bien vouloir m'aider ,je suis vraiment à cours d'idée...
    J'ai essayé le code que tu nous as montré et ajouté ce qu'il faut autour pour l'essayer, sans modifier quoi que ce soit. La sérialisation et désérialisation fonctionnent parfaitement.

    Voici deux informations qui pourraient être utiles :
    - Un code complet pour qu'on puisse faire le même test que toi. Forcément, moi quand je complète un code, je ne fais pas les mêmes erreurs que tu pourrais faire.
    - Les stacktraces complètes des exceptions. Au lieu de faire System.out.println() dans les catch, faire e.printStackTrace(). Ca ne sert à rien les println(), ça ne va pas te dire ce qu'il s'est passé.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

Discussions similaires

  1. [Tableaux] Problème de sérialisation
    Par Langly dans le forum Langage
    Réponses: 1
    Dernier message: 29/12/2006, 20h22
  2. [Débutant] Problème de sérialisation collection
    Par Michel Hubert dans le forum VC++ .NET
    Réponses: 1
    Dernier message: 21/12/2006, 15h17
  3. problème de sérialisation
    Par yoyomc dans le forum Langage
    Réponses: 5
    Dernier message: 17/12/2006, 23h02
  4. Réponses: 4
    Dernier message: 12/12/2006, 10h22
  5. Problème de sérialisation
    Par CheryBen dans le forum Entrée/Sortie
    Réponses: 18
    Dernier message: 15/09/2005, 11h55

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