首页 > 学院 > 开发设计 > 正文

一个例子,序列化与反序列化

2019-11-06 08:05:35
字体:
来源:转载
供稿:网友
/** * @author javaloveiphone * @date 创建时间:2016年11月10日 上午11:27:04 * @Title: SerilazeUtil.java * @Package com.mdf.sc.common.utils * @Description: * 序列化就是将对象写到流的过程,写到流中的对象是原有对象的一个拷贝,而原对象仍然存在于内存中。 * 通过序列化实现的拷贝不仅可以复制对象本身,而且可以复制其引用的成员对象,因此通过序列化将对象写到一个流中,再从流里将其读出来,可以实现深克隆。 * 读出来的就是一个深度克隆的对象 */public class SerializeUtil { /** * @Author javaloveiphone * @Date 创建时间:2016年11月10日 上午11:33:42 * @Description :序列化 * @param obj * @return * byte[] */ public static <T> byte[] serialize(T obj) { ObjectOutputStream oos = null; ByteArrayOutputStream baos = null; try { //序列化 baos = new ByteArrayOutputStream(); oos = new ObjectOutputStream(baos); oos.writeObject(obj); byte[] bytes = baos.toByteArray(); return bytes; } catch (Exception e) { } return null; } /** * @Author javaloveiphone * @Date 创建时间:2016年11月10日 上午11:33:55 * @Description :反序列化 * @param bytes * @return * T */ public static <T> T unserialize(byte[] bytes) { try { //反序列化 ByteArrayInputStream bais = new ByteArrayInputStream(bytes); ObjectInputStream ois = new ObjectInputStream(bais); return (T) ois.readObject(); } catch (Exception e) { } return null; }}
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表