这里用到了java对象的序列化,即要求要转换成Byte数组的对象必须是可序列化的。java代码如下:
/**
* 对象转Byte数组
*
* @param obj
* @return
* @throws Exception
*/
public static byte[] objectToBytes(Object obj) throws Exception {
logger.debug("objectToString called ");
ByteArrayOutputStream out = new ByteArrayOutputStream();
ObjectOutputStream sOut = new ObjectOutputStream(out);
sOut.writeObject(obj);
sOut.flush();
byte[] bytes = out.toByteArray();
logger.debug(bytes.toString());
return bytes;
}
**
* 字节数组转对象
*
* @param content
* @return
* @throws Exception
*/
public static Object bytesToObject(byte[] bytes) throws Exception {
logger.debug("bytesToObject called ");
//byte转object
ByteArrayInputStream in = new ByteArrayInputStream(bytes);
ObjectInputStream sIn = new ObjectInputStream(in);
return sIn.readObject();
}