J'ai créé une méthode dans mon affectation java pour écrire dans un fichier à partir d'un LinkedList
(j'ai utilisé la sérialisation), puis j'ai créé une autre méthode pour lire le fichier dans le inkedList
. Ce qui suit est le corps de ma méthode:gérer EOFException dans java
try {
FileInputStream fin = new FileInputStream("c:\\Info.ser");
ObjectInputStream ois = new ObjectInputStream(fin);
Employee e = (Employee) ois.readObject();
linkP.add(e);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
mais cela ne fonctionne pas correctement. Je pense que cette partie:
Employee e = (Employee) ois.readObject();
linkP.add(e);
lit le premier objet du fichier dans la liste liée et ignore les autres objets. Je l'ai entouré pour boucle et tout en boucle plusieurs fois mais il provoque EOFException
. Comment puis-je changer ma méthode pour lire tous les objets du fichier dans LinkedList?
Downvoted, car readObject() ne renverra pas de valeur null, mais lancera une exception EOFException. – mhaller
Ou plutôt, si elle renvoie null c'est parce que quelqu'un a écrit un null. Ce n'est pas un EOS. – EJP