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; } }
如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望通过本文能帮助到大家,谢谢大家对本站的支持!