微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

IO 流二

目录

字符流

缓冲流

转换流

序列化对象


字符流

字符输入流 - 一次读取一个字符
 

 

 

 

 

 

 

 

 

缓冲流

 缓冲流概述

字节缓冲流性能优化原理:

l 字节缓冲输入流 自带 8KB缓冲池 以后我们直接从缓冲池读取数据,所以性能较好
l 字节缓冲输出 自带 8KB缓冲池 数据就直接写入到缓冲池中去, 写数据 性能极高了

字节缓冲流

l 字节缓冲输入流: BufferedInputStream ,提高字节输入流读取数据的性能
l 字节缓冲输出流: bufferedoutputstream ,提高字节输出流读取数据的性能

 

1. 字节缓冲流为什么提高了操作数据的性能
l 字节缓冲流自带 8KB 缓冲区
l 可以提高原始字节流、字符流读写数据的性能
2. 字节缓冲流的功能如何调用
l public bufferedoutputstream ​( OutputStream os )
l public BufferedInputStream ​( InputStream is )
l 功能上并无很大变化,性能提升了。

 

字符缓冲输入流

l 字符缓冲输入流: BufferedReader
l 作用:提高字符输入流读取数据的性能,除此之外多了按照行读取数据的功能

 

字符缓冲输出

l 字符缓冲输出流: BufferedWriter
l 作用:提高字符输出流写取数据的性能,除此之外多了换行功能

 

转换流

1、如果代码编码和文件编码不一致,使用字符流直接读取还能不乱码吗?

l 会乱码。

2、如果如何解决呢?

l使用字符输入转换流

l可以提取文件GBK)的原始字节流,原始字节不会存在问题。

                     然后把字节流以指定编码转换成字符输入流,这样字符输入流中的字符就不乱

         

 

 

 

 

 

序列化对象

对象序列化

l 作用:以内存为基准, 把内存中的对象存储到磁盘文件中去,称为对象序列化。
l 使用到的流是对象字节输出流: ObjectOutputStream

 

1. 对象序列化的含义是什么?
l 把对象数据存入到文件中去。
2. 对象序列化用到了哪个流?
l 对象字节输出 ObjectOutputStram
l public void writeObject (Object obj)
3. 序列化对象的要求是怎么样的?
l 对象必须实现序列化接口

 

 

对象反序列化

l 使用到的流是对象字节输入流: ObjectInputStream
l 作用:以内存为基准, 把存储到磁盘文件中去的对象数据恢复成内存中的对象,称为对象反序列化

 

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐