您的位置:首页 > 编程语言 > Java开发

java序列化方法

2016-08-08 15:36 274 查看
/**

* 序列化

*

* @param params

* @return

* @throws IOException

*/

public String serialize(Object... params) {

String serializeString = null;

if (null != params && params.length > 0) {

try {

ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();

ObjectOutputStream objectOutputStream = new ObjectOutputStream(byteArrayOutputStream);

objectOutputStream.writeObject(params);

serializeString = byteArrayOutputStream.toString("ISO-8859-1");

serializeString = URLEncoder.encode(serializeString, "UTF-8");

objectOutputStream.close();

byteArrayOutputStream.close();

} catch (Exception e) {

System.out.println(e+"对象序列化异常1");

}

}

return serializeString;

}

/**

* 反序列化

*

* @param serializeString

* @return

* @throws IOException

* @throws ClassNotFoundException

*/

public Object reserialize(String serializeString) {

Object obj = null;

if (null != serializeString) {

try {

serializeString = URLDecoder.decode(serializeString, "UTF-8");

ByteArrayInputStream byteArrayInputStream = new ByteArrayInputStream(

serializeString.getBytes("ISO-8859-1"));

ObjectInputStream objectInputStream = new ObjectInputStream(byteArrayInputStream);

obj = objectInputStream.readObject();

objectInputStream.close();

byteArrayInputStream.close();

} catch (Exception e) {

System.out.println(e+"对象反序列化异常2");

}

}

return obj;

}

注意序列化的类不能使内部类
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: