天天看點

Java序列化和反序列化

/**

* 序列化

* @throws exception

*/

public string outputstream(list<?> results) throws exception {

bytearrayoutputstream bytearrayoutputstream = new bytearrayoutputstream();

objectoutputstream objectoutputstream = new objectoutputstream(

bytearrayoutputstream);

objectoutputstream.writeobject(results);

string serstr = bytearrayoutputstream.tostring("iso-8859-1");

serstr = java.net.urlencoder.encode(serstr, "utf-8");

objectoutputstream.close();

bytearrayoutputstream.close();

system.out.println(serstr);

return serstr;

}

* 反序列化

public list<?> inputstream(string serstr) throws exception {

string redstr = java.net.urldecoder.decode(serstr, "utf-8");

bytearrayinputstream bytearrayinputstream = new bytearrayinputstream(

redstr.getbytes("iso-8859-1"));

objectinputstream objectinputstream = new objectinputstream(

bytearrayinputstream);

list<?> results = (list<?>) objectinputstream.readobject();

objectinputstream.close();

bytearrayinputstream.close();

return results;