IO流-转换流、对象序列化
来源:互联网 发布:软件中的引擎 编辑:程序博客网 时间:2024/06/05 19:14
流操作的基本规律有两点:第一,明确数据源和数据汇,其实是为了明确输入流还是输出流。第二,明确操作的数据是否是纯文本数据,其实是为了明确字符流还是字节流。
转换流的特点:
1、是字节流和字符流之间的桥梁
2、该流对象中可以对读取到的字节数据进行指定编码表的编码转换。
什么时候使用呢?
1、当字节和字符之间有转换动作时。
2、流操作的数据需要进行编码表的指定时。
具体的对象体现:
1、InputStreamReader:字节到字符的桥梁。
2、OutputStreamWriter:字符到字节的桥梁。
这两个流对象是字符流体系中的成员。那么它们有转换作用,而本身又是字符流。所以在构造的时候,需要传入字节流对象进来。
对象序列化
ObjectInputStream
ObjectOutputStream
可以通过这两个流对象直接操作已有对象并将对象进行本地持久化存储。存储后的对象可以进行网络传输。
两个对象的特有方法:
ObjectInputStream
Object readObject():该方法抛出异常:ClassNotFountException。
ObjectOutputStream
void writeObject(Object):被写入的对象必须实现一个接口:Serializable
否则会抛出:NotSerializableException
1、若序列化对象中有些属性不需要序列化可用关键字transient修饰对象属性
例:
view plaincopy to clipboardprint?
1 Person对象中的name属性可以这样定义:
2 private transient String name;
这样在序列化时就不会序列化name属性(反序列化取不到name属性)。
2、需要实现自定义序列化的对象类需要在其中加入三方法:
【1】writeObject(ObjectOutputStream oos)throws IOException {}
【2】readObject(ObjectInputStream ois) throws IOException,ClassNotFoundException {}
【3】readObjectNoData()throws throws ObjectStreamException{}
3、自定义序列化的对象类中重写Object writeReplace()throws ObjectStreamException{}方法(待确认)这种方法可以把序列化对象类型按照需要转换。
- IO流-转换流、对象序列化
- IO流-对象序列化操作流
- IO流对象的序列化
- 52.IO流-对象的序列化
- Java IO流(对象序列化)
- IO流(对象的序列化)
- IO流--对象的序列化
- Java IO流与对象IO序列化
- Java IO流与对象IO序列化
- Java IO流与对象IO序列化(转)
- 黑马程序员-----IO之对象流和对象序列化
- 转换流及对象的序列化
- day12-IO【转换流,打印流,序列化】
- IO流—序列流、对象流、打印流、转换流
- IO流,序列化
- IO流(File类,IO流的分类,字节流和字符流,转换流,缓冲流,对象序列化)
- IO流对象序列化与反序列化
- java学习IO流之对象序列化
- java对象池ObjectPool
- CSS hack:针对IE6,IE7,firefox显示不同效果
- gif文件的加载--实现动画效果
- WP-PostViews Plus插件显示博客文章浏览数
- 分享一个数据库操作的类,大家一起来完善吧
- IO流-转换流、对象序列化
- hdu 4008 Parent and son
- C#DataGridView数据拖动到TreeView中
- s3c2410触摸屏驱动(2.6内核)分析
- 一些常用的javascript命令
- C#分页面向对象封装[支持多表连接查询分页]-教学示范版--实体模型对象
- 做一个有胆识的有为青年
- 排错:使用IE浏览器USB企业激活BlackBerry手机
- SAP BW中的基本概念