1. 程式人生 > >序列化工具類({對實體Bean進行序列化操作.},{將字節數組反序列化為實體Bean.})

序列化工具類({對實體Bean進行序列化操作.},{將字節數組反序列化為實體Bean.})

fin pub 字節數 字節 工具類 ktr null pan port

package com.dsj.gdbd.utils.serialize;

import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;

/**
 *  
 * @作用:序列化工具類
 * @功能:
 * @作者: wyt
 * @日期:2016-8-3 下午5:52:58 
 * @版本:V1.0
 
*/ public class SerializingUtil { /** * 功能簡述: 對實體Bean進行序列化操作. * @param source 待轉換的實體 * @return 轉換之後的字節數組 * @throws Exception */ public static byte[] serialize(Object source) { if (source == null) { return null; } ByteArrayOutputStream byteOut
= null; ObjectOutputStream ObjOut = null; try { byteOut = new ByteArrayOutputStream(); ObjOut = new ObjectOutputStream(byteOut); ObjOut.writeObject(source); ObjOut.flush(); } catch (IOException e) { e.printStackTrace(); }
finally { try { if (null != ObjOut) { ObjOut.close(); } } catch (IOException e) { ObjOut = null; } } return byteOut.toByteArray(); } /** * 功能簡述: 將字節數組反序列化為實體Bean. * @param source 需要進行反序列化的字節數組 * @return 反序列化後的實體Bean * @throws Exception */ public static Object deserialize(byte[] source) { if (source == null) { return null; } ObjectInputStream ObjIn = null; Object retVal = null; try { ByteArrayInputStream byteIn = new ByteArrayInputStream(source); ObjIn = new ObjectInputStream(byteIn); retVal = ObjIn.readObject(); } catch (Exception e) { e.printStackTrace(); } finally { try { if (null != ObjIn) { ObjIn.close(); } } catch (IOException e) { ObjIn = null; } } return retVal; } }

序列化工具類({對實體Bean進行序列化操作.},{將字節數組反序列化為實體Bean.})