Bonjour à tous.
Je compte sur vous pour comprendre comment fonctionne la sérialisation et la désérialisation des objets. En effet, je voudrais sérialiser les objets d'une classe.
Voici mon code
J'arrive à créer le fichier partieDeJeu.ser à l'appel de la méthode writePartieDeJeu(). Il est physiquement sur mon disque dur. Le problème est que je n'arrive pas à lire l'objet sérialisé avec readPartieDeJeu().
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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57 public class PartieDeJeu implements Serializable { //*********DECLARATIONS DES ATTRIBUTS***********// private int tempsDeJeu; private int nbReset; private int option; private Vector<Integer> lesNombre; private int positionNoise; private int somme; private int moyenne; private int nbDecoupage; // methode pour sérialiser public void writePartieDeJeu() { try { FileOutputStream fileOut = new FileOutputStream("partieDeJeu.ser"); ObjectOutputStream out = new ObjectOutputStream(fileOut); out.writeObject(this); out.close(); fileOut.close(); }catch(IOException i) { i.printStackTrace(); } } //méthode pour désérialiser public PartieDeJeu readPartieDeJeu() { PartieDeJeu p = null; try { FileInputStream fileIn = new FileInputStream("partieDeJeu.ser"); ObjectInputStream in = new ObjectInputStream(fileIn); p = (PartieDeJeu) in.readObject(); in.close(); fileIn.close(); }catch(IOException i) { i.printStackTrace(); return p; }catch(ClassNotFoundException c) { System.out.println("partie de jeu class introuvable"); c.printStackTrace(); return p; } return p; } }
Les objets sont-ils sérialisés les uns à la suite des autres comme dans un fichier ? Peut-on les lire les un après les autres ?
Merci
Partager