Bonjour à tous.
J'ai un petit soucis avec la désérialisation.
Donc en fait, j'ai un vecteur qui contient des objets de type Figure.
Figure est un objet qui contient : le shape, l'épaisseur, la couleur, le remplissage.
Pour l'enregistrement, tout marche niquel, j'enregistre mon vecteur. Donc dans mon fichier j'ai ça par exemple (j'ai fais un print de mon vecteur que j'enregistre):
[Figure@dl2536,Figure@ole59d6] (2 figures de dessinées)
Par contre, quand je veux charger mon fichier, ça me met une exception.Voici mon code.
Code : Sélectionner tout - Visualiser dans une fenêtre à part java.io.EOFException
OEF je crois que c'est par rapport à la fin de quelque chose. (par exemple fin de fichier ..)
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 import java.io.*; import javax.swing.JFileChooser; import javax.swing.filechooser.FileNameExtensionFilter; import java.util.*; public class Chargement{ public Chargement(Vector v){ String monfichier = null; JFileChooser chooser = new JFileChooser("."); FileNameExtensionFilter filter = new FileNameExtensionFilter("Fichier .sav", "sav"); chooser.setFileFilter(filter); String approve = new String("Ouvrir"); int returnVal = chooser.showDialog(chooser,approve); if(returnVal == JFileChooser.APPROVE_OPTION) { monfichier = chooser.getSelectedFile().getAbsolutePath(); System.out.println("Fichier à ouvrir : " +monfichier); if(!monfichier.endsWith(".sav")) System.out.println("Seule l'extension .sav est autorisée."); else{ File file = new File(monfichier); try { ObjectInputStream ois = new ObjectInputStream(new FileInputStream(file)); System.out.println(ois.readObject()); v = (Vector) ois.readObject(); //L'exception est là ois.close(); } catch(Exception ex){ ex.getMessage(); ex.printStackTrace(); } } } } }
Peut on m'aider à résoudre ce problème ? Car j'ai essayé de différentes manières, mais j'ai toujours cette erreur.
Merci d'avance
Partager