Java 序列化工具類
阿新 • • 發佈:2018-01-24
pub ear base64 找不到 ror stream ger public 工具類
import org.slf4j.Logger; import org.slf4j.LoggerFactory; import sun.misc.BASE64Decoder; import sun.misc.BASE64Encoder; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.ObjectInputStream; import java.io.ObjectOutputStream; /** * 序列化工具類 */ public class SerializeUtil { private final static Logger logger = LoggerFactory.getLogger(SerializeUtil.class); public static String serialize(Object object) { ByteArrayOutputStream bos = new ByteArrayOutputStream(); ObjectOutputStream oos = null; try { oos = new ObjectOutputStream(bos); oos.writeObject(object); oos.flush(); return new BASE64Encoder().encode(bos.toByteArray()); }catch (IOException e) { logger.error("序列化錯誤",e); }finally { try { if (oos != null) { oos.close(); } bos.close(); } catch (IOException e) { e.printStackTrace(); } } return null; } public static Object unserialize( String object) { ByteArrayInputStream bis = null; ObjectInputStream ois = null; try { bis = new ByteArrayInputStream(new BASE64Decoder().decodeBuffer(object)); ois = new ObjectInputStream(bis); Object o = ois.readObject(); return o; } catch (IOException e) { logger.error("反序列化錯誤:IO異常",e); } catch (ClassNotFoundException e) { logger.error("反序列化錯誤:類找不到",e); }finally { try { if(bis!=null) { bis.close(); } if(ois!=null){ ois.close(); } } catch (IOException e) { e.printStackTrace(); } } return null; } }
Java 序列化工具類