2016-05-07 7 views
1

Ein Programm ist Serialisierung byte[], die an den Benutzer des nächsten Programms gesendet werden soll. Dieser Benutzer wird nicht wissen, wie viele Objekte gesendet werden.Java --- Wie behandelt man die Deserialisierung einer unbekannten Anzahl von Byte []? - Java

Gibt es eine Möglichkeit herauszufinden, wie viele Objekte vom ObjectInputStream serialisiert wurden?

Oder wäre die beste Lösung, die Objekte weiter zu lesen und die Ausnahme zu erfassen, wenn sie geworfen wird?

Antwort

2

Der beste Weg ist, um write zuerst in Ihrem ObjectOutputStream, die total amount of objects zu

+0

Bahaha nennen kann! Wow, ich kann nicht glauben, dass ich nicht daran gedacht habe. EDIT: nur aus Neugier, wenn nicht mit dieser Methode, gibt es eine Alternative, um tatsächlich aus einem unbekannten Stream herauszufinden? –

+0

@MitchWeaver Ich glaube nicht, dass andere Ansätze einfach falsch wären –

0

Nur der Empfänger haben gelesen werden gelesen, bis sie eine EOFException fängt.

0

Gefunden, was ich glaube, der Osten Weg, fügen Sie einfach alle Objekte in eine container, und speichern Sie dann die container.

Dann, wenn deserializing, haben Sie jetzt die container von Objekten, die Sie .size() oder .length()

Verwandte Themen