我正在从 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
中使用serialize
和deserialize
方法。