对象序列化(redis可以使用)

136 阅读1分钟

现在项目中遇到了要将对象序列化存储到redis当中,可以使用以下类来实现:

public class SerializeUtil {

\

public static byte[] ObjectToByte(Object obj) {

byte[] bytes = new byte[1024];

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) {

e.printStackTrace();

}

return bytes;

}

\

public static Object ByteToObject(byte[] bytes) {

Object obj = new java.lang.Object();

try {

// bytearray to object

ByteArrayInputStream bi = new ByteArrayInputStream(bytes);

ObjectInputStream oi = new ObjectInputStream(bi);

\

obj = oi.readObject();

\

bi.close();

oi.close();

} catch (Exception e) {

e.printStackTrace();

}

return obj;

}

public static void main(String[] args){

T_REL_VIDEO_ACTOR act = new T_REL_VIDEO_ACTOR();

act.setId(new Long(456));

byte[] objectToByte = SerializeUtil.ObjectToByte(act);

String hehe = new String(objectToByte);

T_REL_VIDEO_ACTOR ct = (T_REL_VIDEO_ACTOR)SerializeUtil.ByteToObject(hehe.getBytes());

System.out.println(ct.getId());

}

}

\