一.缓冲流
高效流,对Filexxx流进行增强,也有四个流
字符缓冲流:BufferedInputStream,BufferedOuputStream
字节缓冲流:BufferedReader ,BufferedWriter
readline():读一行文本
newline():写一行分隔符
基本原理:
在创建流对象的时候,会创建一个内置的默认大小的缓冲数组,通过缓冲区进行读写,减少系统频繁的io次数,从而提高读写效率
BufferedReader:键盘录入
BufferedReader br=new BufferedReader(new InputStreamReader(System.in)
二.转换流
编码:数据--字节
解码:字节--数据
字符编码::字符和二进制数据之间的规则
字符集:编码表
ASCII字符集--ASCII编码
GBK字符集--GBK编码
Unicode字符集--UTF-8编码 16 32
三.序列化流
序列化机制:字节序列化表示一个对象,该字节序列包含对象的数据,对象的类型,对象中存储的属性等信息。文件中持久保存了一个对象信息
反序列化:上述信息从文件中读取出来
序列化流:ObjectOutputStream 对象转化成字节写到文件
ObjectOutputStream(OutputStream out)
对象序列化,满足条件:
1.该类必须实现接口Serializable
2.该类所有属性,必须是可序列化
反序列化流:ObjectInputStream 字节转换成对象,如果有属性不需要序列化,则需要标注属性为瞬时状态,使用transient关键字