Java可序列化对象到字节数组

假设我有一个可序列化的类AppMessage

我想byte[]通过套接字将其传输到另一台计算机,从接收的字节重建该计算机。

我怎样才能做到这一点?

回答:

准备要发送的字节数组:

ByteArrayOutputStream bos = new ByteArrayOutputStream();

ObjectOutputStream out = null;

try {

out = new ObjectOutputStream(bos);

out.writeObject(yourObject);

out.flush();

byte[] yourBytes = bos.toByteArray();

...

} finally {

try {

bos.close();

} catch (IOException ex) {

// ignore close exception

}

}

从字节数组创建对象:

ByteArrayInputStream bis = new ByteArrayInputStream(yourBytes);

ObjectInput in = null;

try {

in = new ObjectInputStream(bis);

Object o = in.readObject();

...

} finally {

try {

if (in != null) {

in.close();

}

} catch (IOException ex) {

// ignore close exception

}

}

以上是 Java可序列化对象到字节数组 的全部内容, 来源链接: utcz.com/qa/421358.html

回到顶部