- 1、本文档共48页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
;一、应用场景
二、Java泛型的概念
三、Java对象实现序列化的步骤
四、Java实现反序列化的步骤;3;序列化常应用于以下场景
(1)永久性保存对象,保存对象的字节序列到本地文件或者数据库中;
(2)通过序列化以字节流的形式使对象在网络中进行传递和接收;
(3)通过序列化在进程间传递对象。
;二、Java序列化;Java序列化的几种方式;Java对象序列化机制;java.io.Serializable接口
java.io.Externalizable接口
ObjectOutput接口
ObjectInput接口
ObjectOutputStream类
ObjectInputStream类;Serializable接口,表示一个类的可序列化性由实现Serializable接口的类启用。未实现此接口的类的任何状态都不会序列化或反序列化。序列化接口没有方法或字段,仅用于标识可序列化的语义。;ObjectOutputStream类,代表对象输出流,它的writeObject(Objectobj)方法可对参数指定的obj对象进行序列化,把得到的字节序列写到一个目标输出流中。
ObjectInputStream类,代表对象输入流,它的readObject()方法从一个源输入流中读取字节序列,再把它们反序列化为一个Java对象,并将其返回。;定义一个类,并实现Serializable或Externalizable接口。实现Serializable接口只要让Java类实现Serializable接口即可,无需实现任何方法。
使用ObjectOutputStream的writeObject(Objectobj)方法和ObjectInputStream的readObject()方法,对序列化的Java对象进行读写为字节输出流和输入流。;三、Java对象实现序列化的步骤;Employeeemployee=newEmployee();;Filefile=newFile(“物理文件”);;第四步,创建文件输出流;第五步,创建对象输出流,负责将对象写入字节流;第六步,通过对象输出流写入对象;第七步,关闭流;四、Java实现反序列化的步骤;Employeeemployee=newEmployee();;第三步,创建逻辑文件
Filefile=newFile(“物理文件”);//构造函数
第四步,创建文件输入流
FileInputStreamfis=newFileInputStream(file);;第五步,创建对象输出流,负责将对象写入字节流
ObjectInputStreamiis=newObjectInputStream(fis);
第六步,通过对象输出流读出对象并处理该对象
employee=iis.readObject(employee);
System.out.println(employee);;第七步,关闭流
iis.close();
fis.close();
;小结;;一、任务描述
二、任务分析、设计
三、任务实施
四、运行结果;27;二、任务分析、设计;其类图如图5-1所示。;三、任务实施;publicclassAddressimplementsSerializable{
privatestaticfinallongserialVersionUID=4983187287403615604L;
…
};实现Serializable接口非常简单,只要让Java类实现Serializable接口即可,无需实现任何方法。
一个类一旦实现了Serializable接口,那么该类的对象就是可序列化的。;第二步,创建员工类Employee;Employee实现了Serializable接口,那么该类的对象就是可序列化的。
该类引用了Address地址对象,地址类也是可序列化的。;第三步创建测试类;第四步新建员工对象;第五步,将对象序列化后写入文件;首先指定物理文件到逻辑文件
Filefile=newFile(d:\\employee23.dat);
然后创建文件输出流到逻辑文件
FileOutputStreamfos=newFileOutputStream(file);
再创建对象输出流到文件输出流
ObjectOutputStreamoos=newObjectOutputStream(fos);
最后通过对象输出流完成写操作
oos.writeObject(employee);;oos.flush();
oos.close();
fos.close();;2反序列化对象从磁盘上读出;首先,创建反序列化测试类;第一步从
您可能关注的文档
- 《C语言程序设计》课件——4.5实例讲解.pptx
- 《C语言程序设计》课件——7.3函数的返回值.pptx
- 《AUTOCAD》课件——项目二 平面图形基础.pptx
- 《C语言程序设计》课件——1.1C语言概述.pptx
- 《C语言程序设计》课件——1.2C程序基本结构.pptx
- 《C语言程序设计》课件——4.1算法及其表示.pptx
- 《C语言程序设计》课件——9.13用指针变量名加下标的形式访问数组.pptx
- 《C语言程序设计》课件——10.6共生体类型数据.pptx
- 《H5页面与交互动画设计》课件——H5页面的交互设计.pptx
- 《H5页面与交互动画设计》课件——H5中的动效、动画 .pptx
- 温州市瓯海旅游投资集团有限公司下属子公司招聘笔试题库2025.pdf
- 鄂尔多斯市东胜区水务投资建设集团有限公司招聘笔试题库2025.pdf
- 江西吉安市青原区江吉夏青电子商务有限公司招聘笔试题库2025.pdf
- 福建省龙岩经济技术开发区招商服务有限公司招聘笔试题库2025.pdf
- 赣州市会昌县恒茂建设发展集团有限责任公司招聘笔试题库2025.pdf
- 浙江温州市泰顺县泰宇城市运营管理有限公司招聘笔试题库2025.pdf
- 山东滨达实业权属企业山东滨和置业有限公司招聘笔试题库2025.pdf
- 江西吉安市井冈山市城投控股集团下属子公司招聘笔试题库2025.pdf
- 甘肃临夏积石山县禹源资产运营集团有限公司招聘笔试题库2025.pdf
- 安徽合肥滨湖国有资本运营控股集团有限公司招聘笔试题库2025.pdf
文档评论(0)