Ajoutant à un ObjectOutputStream

Est-il pas possible d'ajouter à un ObjectOutputStream?

Je suis en train d'ajouter à une liste d'objets. L'extrait de code suivant est une fonction qui est appelée chaque fois qu'un travail est terminé.

FileOutputStream fos = new FileOutputStream
           (preferences.getAppDataLocation() + "history" , true);
ObjectOutputStream out = new ObjectOutputStream(fos);

out.writeObject( new Stuff(stuff) );
out.close();

Mais quand j'essaie de le lire, je seulement obtenir la première dans le fichier.
Puis-je obtenir java.io.StreamCorruptedException.

De lire, je suis en utilisant

FileInputStream fis = new FileInputStream
        ( preferences.getAppDataLocation() + "history");
ObjectInputStream in = new ObjectInputStream(fis);    

try{
    while(true)
        history.add((Stuff) in.readObject());
}catch( Exception e ) { 
    System.out.println( e.toString() );
}

Je ne sais pas combien d'objets sera présente donc, je suis à la lecture il n'y a pas d'exceptions. À partir de ce que Google dit que c'est pas possible. Je me demandais si quelqu'un connaît un moyen?

  • Obtenez-vous quoi que ce soit à partir du flux, ou faut-il lancer une exception la première fois autour de la boucle?
  • il lit le premier objet que j'ai sauvé puis-je obtenir de l'exception.
  • Dans le code ci-dessus, je ne suis qu'en voyant un objet écrit dans le fichier, donc un seul peut être lu, non?
  • premier extrait est une fonction qu'il est appelé plusieurs fois à chaque fois qu'un travail est terminé. mais je ne peux que lire le premier que j'ai écrit.
  • Ici votre code écrit seulement 1 objet de la rivière, est-il rien qui n'a pas montré que l'écrit plus de 1 objet de ce cours d'eau ?