Salut,

Comment faire pour lire un fichier jusqu'au bout en récupérant les objets qui sont dedans, en s'arrêtant proprement?

Je n'ai pas trouvé d'autres solutions que de faire ça, ce qui ne me convient absolument pas (un while(true) pour une boucle non infinie, je n'aime pas):
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
    try {
        ObjectInputStream ois = new ObjectInputStream(new FileInputStream(filename));
        try {
            while(true) {
                try {
                    Object read = ois.readObject();
                    ...
                } catch(ObjectStreamException ose) {} catch(ClassNotFoundException cnfe) {}
            }
        } catch(EOFException oef) { /* pour sortir de la boucle */ }
 
    } catch(FileNotFoundException fnfe) { ... } catch(IOException ioe) { ... }