Serialization et Deserialization
Bonjour à tous !
Je retourne encore vers vous pour m'aider dans la sérialization. J'ai réussi à coder cette partie de code, mais quand j'essaie de lancer la procédure, j'ai énormément d'erreur (je travaille sur netbeans).
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
|
public void Serialization(Evenement evenement){
try {
//ouverture d'un flux de sortie vers le fichier "personne.serial"
FileOutputStream fos = new FileOutputStream("Scalendrier.txt");
// 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(evenement);
// on vide le tampon
oos.flush();
System.out.println(evenement.getLieu() + " a ete serialise");
} finally {
//fermeture des flux
try {
oos.close();
} finally {
fos.close();
}
}
} catch(IOException ioe) {
ioe.printStackTrace();
}
} |
Et voici la deserialization
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
| public void Dezerialization(){
Evenement ev = null;
try {
// ouverture d'un flux d'entrée depuis le fichier "Serialization_calendrier.serial"
FileInputStream fis = new FileInputStream("Scalendrier.txt");
// création d'un "flux objet" avec le flux fichier
ObjectInputStream ois= new ObjectInputStream(fis);
try {
// désérialisation : lecture de l'objet depuis le flux d'entrée
ev = (Evenement) ois.readObject();
} finally {
// on ferme les flux
try {
ois.close();
} finally {
fis.close();
}
}
} catch(IOException ioe) {
ioe.printStackTrace();
} catch(ClassNotFoundException cnfe) {
cnfe.printStackTrace();
}
if(ev != null) {
System.out.println(ev.getLieu() + " a ete deserialise");
} |
Vous voyez quelque chose qui cloche ou pas ?
L'objet que je sérialise est :
Code:
1 2 3
|
Evenement evenement = new Evenement(txtobjet.getText(),txtlieu.getText());
Serialization(evenement); |
Apparemment, l'erreur viendrait de cette ligne :
Code:
ev = (Evenement) ois.readObject();