序列化工具類({對實體Bean進行序列化操作.},{將字節數組反序列化為實體Bean.})
阿新 • • 發佈:2019-01-12
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.})