如何用其中的一些值初始化 ObjectInputStream? (不为空)
How to initialise ObjectInputStream with some value in it? (not null)
我已经用字节数组初始化了 InputStreamReader
,然后初始化了 ObjectOutputStream
并将其传递给它的构造函数。但它显示错误:invalid stream Header
。请帮助如何给 ObjectInputStream
.
赋值
ObjectStreams
具有非常特定的格式,因此您不能只创建一个字节数组并期望它采用正确的格式。您可以使用 ObjectOutputStream
将对象写入字节数组,这将确保格式正确。
// 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
我已经用字节数组初始化了 InputStreamReader
,然后初始化了 ObjectOutputStream
并将其传递给它的构造函数。但它显示错误:invalid stream Header
。请帮助如何给 ObjectInputStream
.
ObjectStreams
具有非常特定的格式,因此您不能只创建一个字节数组并期望它采用正确的格式。您可以使用 ObjectOutputStream
将对象写入字节数组,这将确保格式正确。
// 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