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;
}
注意序列化的类不能使内部类
* 序列化
*
* @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;
}
注意序列化的类不能使内部类
相关文章推荐
- java對象序列化的兩種使用方法
- java序列化的引用问题以及将transitent的序列化方法
- 通过SOCKET传递序列化的Java对象的方法 序列化 Socket
- JAVA类实现序列化的方法是?
- Mvc4 web-Api Json 序列化,日期Java解析失败的解决方法
- .net和java中不支持字典的序列化的变通方法
- JAVA 对象序列化(三)——transient以及Externalizable的一种替代方法(使用Serializable)
- 用JAVA实现一种排序,JAVA类实现序列化的方法(二种)? 如在COLLECTION框架中,实现比较要实现什么样的接口?
- 基于序列化存取实现java对象深度克隆的方法详解
- Java的Serializable序列化接口的readObject和writeObject方法
- Java中对象的序列化和反序列化方法
- Java中对象的序列化和反序列化方法
- java序列化方法2
- Java 深拷贝ArrayList实例(包括递归和序列化方法)
- java 对象序列化的两种方法
- Java常见序列化与反序列方法总结
- Java常见序列化与反序列方法总结
- 【Java常见序列化与反序列方法总结】
- java 对象序列化xml方法
- JAVA 对象序列化(三)——transient以及Externalizable的一种替代方法(使用Serializable)