also ich kann nur dringend dazu raten, keinen ObjectInputStream darüber zu setzen, noch irgendwo irgendwann je Streams zu wechseln,
gerade für bytes lohnt sich das in diesem Fall doch auch überhaupt nicht,
bleibe bei normalen Stream und überlege dir ein Protokoll,
wenn du jetzt schon weißt, wo du new ObjectInputStream() schreiben würdest, dann weist du auch, wo das byte[] im normalen Stream kommt,
dann brauchst du nur noch die Länge, die vorher reinschreiben, richtig auslesen und passend viele bytes aus dem normalen InputStream lesen, fertig