Sérialisation, Désérialisation des objets
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
Code:
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;
}
} |
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().
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