# Rausfinden ob noch Objecte in ObjectInputStream



## Empire Phoenix (9. Dez 2009)

Main Problem besteht darin, dass ich ein ByteArrayInputStream habe, welches eine unbekannte Länge besitzt und in dem eine unbekannte Anzahl von Objecten gespeichert sind. Das Problem besteht jetzt darin diese einzulesen, woran ich scheitere. Weil ich schlichtweg nicht weiß ob noch weitere Objecte zum lesen vorhanden sind. die methode aviable() scheint zudem nicht in verbindung mit ByteArrayInputStreams zu funktionieren (sie liefert immer 0 obwohl in meinen tests mindestens noch ein object lesbar ist).

Existiert hierzu eine Lösung/Ansatz/Workaround?


----------



## Michael... (9. Dez 2009)

Warum liest Du den Stream nicht einfach bis zum Ende?


----------



## tuxedo (9. Dez 2009)

Bei Object*Streams musst du einfach wissen welche Objekte da drin sind und in welcher Reihenfolge und vor allem wieviele...

Weißt du das nicht, so ist an deinem "Protokoll" etwas schief ...

Warum schickst du da keine Info mit wieviele Objekte drin sind?


----------



## Empire Phoenix (9. Dez 2009)

@Michael
Weil ich nicht weiß wann  er zuende ist, bis mir die Exceptions umme Ohren fliegen und ich ds irgetwie unsauber finde 


Dachte das geht auch anders, naja dann schick ich halt nen short vorraus mit der Anzahl der Objecte


----------



## tuxedo (9. Dez 2009)

Empire Phoenix hat gesagt.:


> Dachte das geht auch anders, naja dann schick ich halt nen short vorraus mit der Anzahl der Objecte



Das ist definitv eine saubere Lösung ...


----------



## SlaterB (9. Dez 2009)

noch geschickter: nie mehr als ein Objekt in einem Stream,
wenn du doch drei hast, stecke sie in eine Liste und schicke die Liste bzw. schicke immer eine Liste oder sonst ein höheres Kontrollobjekt,
das kannst du ganz normal auslesen, die Länge abfragen, Elemente entnehmen usw.


----------

