浅谈java序列化与反序列化

浅谈java序列化与反序列化

ID:32588644

大小:64.22 KB

页数:9页

时间:2019-02-13

浅谈java序列化与反序列化_第1页
浅谈java序列化与反序列化_第2页
浅谈java序列化与反序列化_第3页
浅谈java序列化与反序列化_第4页
浅谈java序列化与反序列化_第5页
资源描述:

《浅谈java序列化与反序列化》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、首先解释两个概念'何为序列化?何为反序列化?序列化:将对象转化成流的过程称为序列化反序列化:将流转化成对象的过程称之为反序列化序列化与反序列化必须遵守的原则a)Java对象在java中要想使一个java乂寸象可以实现序列化与反序列化,必须让该类实现java・io・Serializmb丄0接口java.io.Serializable接口定义如下:publicinterfaceSerializable{}从上述定义屮可以看到该接口屮未定义任何方法,这大大的简化了开发者b)序列化主要依赖java.io.ObjectOutput

2、Stream类,该类对java.io.FileOutputStream进一步做了封装,这里主要使用ObjectOutputStrearn类的writeObject()方法实现序列化功能Demo:★将对象序列化到磁盘文件中*@paramo*@throwsException*/publicstaticvoidwriteObject(Objecto)throwsExceptioFilef=newFile(nd:n"userif(f・exists()){f.delete();}FileOutputStreamos=newFile

3、OutputStream(f);//ObjectOutputStream核心类ObjectOutputstreamoos=newObjectOutputStream(os);oos.writeObject(o);oos•close();os•close();a)反序列化主要依赖java・io.ObjectInputstream类/该类对java.io.Inputstream进一步做了封装,这里主要使用ObjectInputStream类的readObject()方法实现序列化功能★反序列化,将磁盘文件转化为对象*@par

4、amf*@return*@throwsException*/publicstaticUserreadobject(Filef)throwsException!Inputstreamis=newFileinputstream(f);//ObjectOutputStream核心类ObjectInputStreamois=newObjectlnputStream(is);return(User)ois-readobject();贴岀完整的demoJava对象:packagecom>ioebean;importjava.io.S

5、erializable;publicclassUserimplementsSerializable{privateintuserld;privateStringuserName;privateStringuserSex;privateintuserAge;publicintgetUserAge(){returnuserAge;}publicvoidsetUserAge(intuserAge){this•userAge=userAge;}publicintgetUserld(){returnuserid;}publievo

6、idsetUserld(intuserid){this.userid=userid;}publicStringgetUserName(){returnuserName;}publievoidsetUserName(StringuserName){this•userName=userName;}publicStringgetUserSex(){returnuserSex;}publievoidsetUserSex(StringuserSex){this•userSex=userSex;}QOverridepublicStr

7、ingtoString(){returnthis•getUserId()+"n+this•getUserName()+ftn+this・getUserSex()+”H+this.getUserAge();序列化少反序列化packagecom.io・test;importjava•io.File;importjava•io•FileInputStream;importjava•io•FileOutputStream;importjava.io.InputStream;importjava.io.ObjectlnputStr

8、eam;importjava.io•ObjectOutputStream;importcom>io•bean•User;publicclassTestSerializable{/**★将对彖序列化到磁盘文件屮*@paramo*@throwsException*/publicstaticvoidwriteObject(

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。