Problème désérialisation (java.io.EOFException)
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.
Code:
java.io.EOFException
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
| 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();
}
}
}
}
} |
OEF je crois que c'est par rapport à la fin de quelque chose. (par exemple fin de fichier ..)
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