Je place dans un ArrayList des données puis je sauvegarde l'ArrayList, pour l'instant sa va. Puis je souhaite restaurer les données contenu dans l'ArrayList, et là : impossible ...
Voilà la fonction de sauvegarde qui fonctionne :
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 private ArrayList al = new ArrayList(); public void sauve_score() { try {FileOutputStream f = new FileOutputStream("score.txt"); ObjectOutputStream s = new ObjectOutputStream(f); al.add(killInt);// ajout de données dans l'arraylist al.add(compte);// ajout de données dans l'arraylist s.writeObject(al);s.flush();// sauvegarde de l'arraylist s.close();//ferme le flux } catch(IOException e) {e.printStackTrace();} }
Et la fonction de restauration qui indique une erreur de syntaxe au niveau de readObject() :
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 public void restaure_score() { try {FileInputStream f = new FileInputStream("score.txt"); ObjectInputStream s = new ObjectInputStream(f); al= (ArrayList) s.readObject();// ERROR SYNTAX for(int i = 0; i < al.size(); i++)//on lie les données de l'arraylist { System.out.println( al.get(i) ); } } catch(IOException e) {e.printStackTrace();} }
Donc, il semblerait que readObject() ne puisse pas être appliqué aux arrayList, alors que writeObject() le peut ...
Comment je corrige le problème ?( sans utiliser un tableau d'entier car ce n'est pas le but rechercher surtout si j'ai des données à l'infini stocké sur un serveur :p)
Partager