Java:将字节数组解释为对象



我正在从 Java 客户端的套接字接收对象。如何将收到的字节数组解释为 Java 客户端中定义的对象?

我所知道的是对象在发送器系统上各个变量的位大小方面的外观。

取决于格式。

可以使用反序列化,或者如果有自定义序列化技术,请自行解释字节。

您需要的是一种从字节转换为对象的方法,如下所示

public static Object deserialize(byte[] data) throws IOException, ClassNotFoundException {
ByteArrayInputStream in = new ByteArrayInputStream(data);
ObjectInputStream is = new ObjectInputStream(in);
return is.readObject();
}

如果您的类扩展Serializable,则可以通过ByteArrayOutputStream写入和读取对象。

或者在 Commons-lang 的SerializationUtils中使用serializedeserialize方法。

最新更新