import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.Serializable;
import java.io.UnsupportedEncodingException;
/**
* @ClassName: ObjectSerializeUtil
* @Description: 对象序列化工具
* @Company:Personal
* @author:修国山
* @date 2016年5月10日 下午5:42:00
* @version: 1.0
*/
public class ObjectSerializeUtil {
/**
* @Title: getObjFromStr
* @Description: 将字符串反序列化成对象
* @param serStr
* @return
* @throws UnsupportedEncodingException
* @throws IOException
* @throws ClassNotFoundException 设定文件
* @return Object 返回类型
* @throws
*/
public static Object getObjFromStr(String serStr) throws UnsupportedEncodingException, IOException, ClassNotFoundException {
ByteArrayInputStream byteArrayInputStream = null;
ObjectInputStream objectInputStream = null;
Object obj = null;
try {
String redStr = java.net.URLDecoder.decode(serStr, "UTF-8");
byteArrayInputStream = new ByteArrayInputStream(redStr.getBytes("ISO-8859-1"));
objectInputStream = new ObjectInputStream(byteArrayInputStream);
obj = objectInputStream.readObject();
} catch (Exception e) {
throw e;
} finally {
objectInputStream.close();
byteArrayInputStream.close();
}
return obj;
}
/**
* @Title: getStrFromObj
* @Description: 将对象序列化成字符串
* @param obj
* @return
* @throws IOException
* @throws UnsupportedEncodingException 设定文件
* @return String 返回类型
* @throws
*/
public static String getStrFromObj(Serializable obj) throws IOException, UnsupportedEncodingException {
ByteArrayOutputStream byteArrayOutputStream = null;
ObjectOutputStream objectOutputStream = null;
String serialStr = null;
try {
byteArrayOutputStream = new ByteArrayOutputStream();
objectOutputStream = new ObjectOutputStream(byteArrayOutputStream);
objectOutputStream.writeObject(obj);
serialStr = byteArrayOutputStream.toString("ISO-8859-1");
serialStr = java.net.URLEncoder.encode(serialStr, "UTF-8");
} catch (Exception e) {
throw e;
} finally {
objectOutputStream.close();
byteArrayOutputStream.close();
}
return serialStr;
}
}
---------------------
作者:国山
来源:CSDN
原文:https://blog.csdn.net/shouhuzhezhishen/article/details/62232773
java序列化和反序列化
最新推荐文章于 2023-02-12 21:01:02 发布