目录
字符流
缓冲流
转换流
序列化对象
字符输入流
-
一次读取一个字符









缓冲流概述

字节缓冲流性能优化原理:
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
作用:以内存为基准,
把存储到磁盘文件中去的对象数据恢复成内存中的对象,称为对象反序列化
。