/**
* 1.流的分类:
* 按照数据流向的不同:输入流,输出流
* 按照处理数据单位的不同:字节流(音频、视频等等),字符流(文本文件)
* 按照角色的不同:节点流(直接作用于文件的), 处理流
* 2.IO的体系(常用):
* 抽象基类 节点流(文件流) 缓冲流(处理流的一种,可以提升文件操作的效率)
* InputStream FileInputStream BufferedInputStream
* OutputStream FileOutputStream BufferedOutputStream (+flush()刷新输出流)
* Reader FileReader BufferedReader ( readLine()按行读取)
* Writer FileWriter BufferedWriter (+flush()刷新输出流)
* 3.转换流
* 文本文件->字节流->InputStreamReader->字符流->程序
* 程序->字符流->OutputStreamWriter->字节流->文本文件
* 解码:字节数组->字符串
* 编码:字符串->字节数组
* 转换流 作用于 节点流 之上 ,起转换的作用
* 缓冲流 作用于 转换流 之上,起加速的作用
* 4.标准的输入输出流
* 标准的输入流:System.in
* 标准的输出流:System.out
* 5.打印流
* 字节流:PrintStream
* 字符流:PrintWriter
* 包装节点流
* 6.数据流
* DataInputStream,DataOutputStream
* 包装节点流
* 7.对象流
* ObjectInputStream,ObjectOutputStream 把对象转化为二进制(对象序列化)
* 要实现序列化的类:1.要求此类是可序列化的:实现Serializable接口
* 2.要求类的属性也要实现Serialable接口
* 3.提供一个版本号:private static final long serialVersionUID
* 4.使用static 或 transient修饰的属性,不可实现序列化
* 8.RandomAccessFile
* 1.既可以充当输入流,也可以充当输出流
* 2.支持从文件的开头读取、写入,也支持从任意位置读取、写入(覆盖型插入)
* 9.特性:
* 处理流作用与节点流之上
* InputStream、OutputStream 及其子类 用于字节流,也可以用于字符流但效率低
* Reader、Writer 及其子类 用于字符流,不能用于字节流
* word文件要使用字节流
* 使用缓冲流大大提高效率
*
* @author Missy
*/