Salut,
J'ai un petit pb:
j'ai une pile sous forme de liste chainée ce qui me fait une classe PileObjet et une classe Cellule qui implementent toutes les 2 Serializable
et j'aimerai pouvoir sauvegarder et charger une pile voici mon code
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 public void charger(){ String nomFich = Console.readString("Nom du fichier à charger: "); File file; FileInputStream fis; ObjectInputStream ois; String dir = System.getProperty("user.dir"); file = new File(dir, nomFich); if(file.exists()){ try{ fis = new FileInputStream(file); ois = new ObjectInputStream(fis); PileObject p = (PileObject)ois.readObject(); this.tete = tete; ois.close(); } catch(IOException err){ System.out.println("Erreur d'entrée/sortie "+err); } catch(ClassNotFoundException e){ System.out.println("Erreur d'entrée/sortie "+e); } } }Ces deux méthode se situent dans la classe PileObject.
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 public void sauvegarder(){ String nomFich = Console.readString("Nom du fich pour sauegarder: "); File file; FileOutputStream fOutStream; ObjectOutputStream sObjOutStream; PileObject po = new PileObject(); String dir = System.getProperty("user.dir"); file = new File(dir, nomFich); if(file.exists()){ try{ fOutStream = new FileOutputStream(file); sObjOutStream = new ObjectOutputStream(fOutStream); sObjOutStream.writeObject(po); fOutStream.close(); sObjOutStream.close(); sObjOutStream.flush(); } catch(IOException err){ System.out.println("Erreur d'entrée/sortie "+err); fOutStream = null; sObjOutStream = null; } }
Je n'ai qu'une variable de classe qui est :
et mon constructeur est le suivant
Code : Sélectionner tout - Visualiser dans une fenêtre à part private Cellule tete;
Les méthodes de sauvegarde et de chargement ne fonctionnent en fait seule la pile est sauvegardée (je crois!) et non les cellules s'y rapportant. Je pense que cela es du au fait que mon constructeur est vide mais je n'en suis pas sure.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 //CONSTRUCTEUR public PileObject(){ tete = null; }
Comment je peux faire pour pouvoir sauvegarder et charger la pile et l'ensemble de ses cellules.
Merci d'avance.
Partager