package com.xx.util; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import java.io.*; /** * 序列化 工具类 */ public class SerializeUtil { private static final Logger logger = LoggerFactory.getLogger(SerializeUtil.class.getName()); /** * 序列化 * @param object * @return */ public static byte[] serialize(Object object) { ObjectOutputStream oos = null; ByteArrayOutputStream baos = null; try { //序列化 baos = new ByteArrayOutputStream(); oos = new ObjectOutputStream(baos); oos.writeObject(object); byte[] bytes = baos.toByteArray(); return bytes; } catch (Exception e) { logger.error(e.getMessage()); }finally{ try { baos.flush(); baos.close(); oos.flush(); oos.close(); } catch (IOException e) { // TODO Auto-generated catch block logger.error(e.getMessage()); } } return null; } /** * 反序列化 * @param bytes * @return */ @SuppressWarnings("unchecked") public static <T> T unserialize(byte[] bytes) { T object=null; if(bytes==null){ return null; } ByteArrayInputStream bais = null; ObjectInputStream ois =null; try { //反序列化 bais = new ByteArrayInputStream(bytes); ois = new ObjectInputStream(bais); object =(T) ois.readObject(); } catch (Exception e) { logger.error(e.getMessage()); }finally{ try { bais.close(); ois.close(); } catch (IOException e) { logger.error(e.getMessage()); } } return object; } }
序列化 工具类
最新推荐文章于 2023-08-11 08:36:42 发布