Bonjour,
J'ai une classe IODATA me permettant de faire la sérialisation de mes listes d'objets.
Bien que je ne maîtrise pas les spécifications de ce code, je lui envoie un objet et un String puis il me fait la sérialisation.
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 public <T> void serializer(T t, String fichierSortie){ try { // ouverture d'un flux de sortie vers le fichier nomObjet.serial FileOutputStream fos = new FileOutputStream(fichierSortie + ".serial"); // 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(t); // on vide le tampon oos.flush(); System.out.println(t + " a ete serialise"); } finally { //fermeture des flux try { oos.close(); } finally { fos.close(); } } } catch(IOException ioe) { ioe.printStackTrace(); } }
Le problème est que, lorsque je souhaite sérialiser un objet :
Cependant, le rendu dans le fichier avion.serial est comme suit :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 IOData iodata = new IOData(); ArrayList<Avion> desAvions = new ArrayList<Avion>(); Avion a1 = new Avion("Airbus A340-300"); Avion a2 = new Avion("Airbus A340-300"); Avion a3 = new Avion("Airbus A340-300"); Avion a4 = new Avion("Airbus A340-300"); Avion a9 = new Avion("Airbus A340-300"); iodata.serializer(desAvions, "avion");
J'aimerai comprendre pourquoi je n'arrive pas à sérialiser mon ArrayList d'avion.
Partager