应用场景:mq数据传输是以二进制方式传输的,但是前端传过来是对象(Object)
如何封装成一个对象转字节的工具类?
/**
* 对象转byte字节数组
* @param bytes
* @return
*/
public static byte[] ObjectToByte(Object obj) {
byte[] bytes = null;
try {
// object to bytearray
ByteArrayOutputStream bo = new ByteArrayOutputStream();
ObjectOutputStream oo = new ObjectOutputStream(bo);
oo.writeObject(obj);
bytes = bo.toByteArray();
bo.close();
oo.close();
} catch (Exception e) {
log.info("【BeanToByteUtil】translation->{}:e->{}" , e.getMessage(),e);
e.printStackTrace();
}
return bytes;
}
/**
* byte转对象
* @param bytes
* @return
*/
public static Object ByteToObject(byte[] bytes) {
Object obj = null;
try {
// bytearray to object
ByteArrayInputStream bi = new ByteArrayInputStream(bytes);
ObjectInputStream oi = new ObjectInputStream(bi);
obj = oi.readObject();
bi.close();
oi.close();
} catch (Exception e) {
log.info("【BeanToByteUtil】translation->{},e->{}" , e.getMessage(),e);
e.printStackTrace();
}
return obj;
}