-3

I have initialised InputStreamReader with a byte Array and then initialized ObjectOutputStream passing it to it's constructor. But it shows error: invalid stream Header. Please help on how to give some value to ObjectInputStream.

gudok
  • 4,029
  • 2
  • 20
  • 30
cruck
  • 5
  • 2

1 Answers1

0

ObjectStreams have a very specific format, so you can't just create a byte array and expect it to be in the correct format. You can write objects to a byte array by using ObjectOutputStream and that will ensure the correct format.

// Write an object to a ByteArrayOutputStream
ByteArrayOutputStream bout = new ByteArrayOutputStream();
ObjectOutputStream oout = new ObjectOutputStream(bout);
oout.writeObject(someObject);
oout.close();

// Read the object from the resulting array
ObjectInputStream oin = new ObjectInputStream(new ByteArrayInputStream(bout.toByteArray()));
oin.readObject(); // Read the object we wrote in
Kayaman
  • 72,141
  • 5
  • 83
  • 121