[Java基础教程-兄弟连马剑威]-106-IO之对象流

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

IO之对象流马剑威第106讲课程大纲1、对象序列化2、ObjectOutputStream3、ObjectInputStream4、序列化一组对象5、transient关键字1、对象序列化•对象序列化就是指将一个对象转化成二进制的byte流。•两种情况:•将对象保存在文件上的操作称为对象的序列化操作•将对象从文件之中恢复称为反序列化的操作•使用ObjectOutputStream类实现对象的序列化,使用ObjectInputStream类实现反序列。•被序列化对象所在的类必须实现java.io.Serializable接口2、ObjectOutputStream•publicclassObjectOutputStreamextendsOutputStream•implementsObjectOutput,ObjectStreamConstants•ObjectOutputStream将Java对象的基本数据类型和图形写入OutputStream方法名称描述publicObjectOutputStream(OutputStreamout)throwsIOException接收OutputStream实例,进行实例化操作publicfinalvoidwriteObject(Objectobj)throwsIOException输出一个对象publicvoidclose()throwsIOException关闭3、ObjectInputStream•publicclassObjectInputStreamextendsInputStream•implementsObjectInput,ObjectStreamConstants•ObjectInputStream对以前使用ObjectOutputStream写入的基本数据和对象进行反序列化。方法名称描述publicObjectInputStream(InputStreamin)throwsIOException根据输入流的不同,实例哈ObjectInputStream类的对象publicfinalObjectreadObject()throwsIOException,ClassNotFoundException读取对象4、序列化一组对象•在序列化操作中,同时序列化多个对象时,反序列化也必须按顺序操作,如果想要序列化一组对象该如何操作呢?•序列化一组对象可采用:对象数组的形式,因为对象数组可以向Object进行转型操作。5、transient关键字•如果用transient声明一个实例变量,当对象存储时,它的值不需要维持。•当持久化对象时,可能有一个特殊的对象数据成员,我们不想用serialization机制来保存它。为了在一个特定对象的一个域上关闭serialization,可以在这个域前加上关键字transient。当一个对象被序列化的时候,transient型变量的值不包括在序列化的表示中,然而非transient型的变量是被包括进去的。谢谢Thanks

1 / 8
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功