Question

Je veux lire plusieurs objets (ma propre classe terme) que j'ai sortie vers un fichier .dat, mais je reçois toujours un nullPointException ou EOFException.

ObjectInputStream inputStream = new ObjectInputStream(new FileInputStream(masterFile));
        Object o = null;
        while(( o = inputStream.readObject()) != null){
            Term t = (Term)o;
            System.out.println("I found a term");
        }
Était-ce utile?

La solution

Voir la Javadoc. readObject() ne retourne pas nulle à EOF. Il jette EOFException. La seule façon qu'il peut retourner une valeur nulle est si vous avez écrit un nul à l'autre bout, et ce n'est pas nécessairement une bonne raison pour mettre fin à la boucle de lecture.

En bref votre code est erroné.

NB l'initialisation du 'o' est redondante.

NB (2) Le code affiché ne peut pas jeter NullPointerException, à moins masterFile est nulle. Est-ce un rapport sérieux ou juste une supposition?

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top