java序列化与ObjectOutputStream和ObjectInputStream的实例详解
java序列化与ObjectOutputStream和ObjectInputStream的实例详解
一个测试的实体类:
publicclassParamimplementsSerializable{
privatestaticfinallongserialVersionUID=5187074869820982336L;
privateIntegerparam1;
privateStringparam2;
publicIntegergetParam1(){
returnparam1;
}
publicvoidsetParam1(Integerparam1){
this.param1=param1;
}
publicStringgetParam2(){
returnparam2;
}
publicvoidsetParam2(Stringparam2){
this.param2=param2;
}
}
测试:
publicclassMain{
publicstaticvoidmain(String[]args)throwsException{
SerializeParam();
Paramparam=DeserializeParam();
System.out.println(MessageFormat.format("param1={0},param2={1}",param.getParam1(),param.getParam2()));
}
/**
*将实体类序列化到本地
*@throwsFileNotFoundException
*@throwsIOException
*/
privatestaticvoidSerializeParam()throwsFileNotFoundException,IOException{
Paramparam=newParam();
param.setParam1(123);
param.setParam2("asdf");
ObjectOutputStreamoo=newObjectOutputStream(newFileOutputStream(newFile("E:/param.txt")));
oo.writeObject(param);
System.out.println("Person对象序列化成功!");
oo.close();
}
/**
*反序列化
*@return
*@throwsException
*@throwsIOException
*/
privatestaticParamDeserializeParam()throwsException,IOException{
ObjectInputStreamois=newObjectInputStream(newFileInputStream(newFile("E:/param.txt")));
Paramparam=(Param)ois.readObject();
System.out.println("Person对象反序列化成功!");
ois.close();
returnparam;
}
}
如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望通过本文能帮助到大家,谢谢大家对本站的支持!