I\O框架
**1、流的概念:**内存与存储设备之间传输数据的通道 。
流的分类
2、按方向
输入流 : 将存储设备中的内容读入到内存中
输出流 :将内存中的内容写入到存储设备中
3、按单位
字节流 :以字节为单位,可以读写所有的数据
字符流 :以字符为单位,只能读写文本数据
4、按功能
节点流 :具有实际传输数据的读写功能
过滤流 :在节点流的基础之上增强功能
5、字节流:
InputStream字节输入流
OutputStream字节输出流
FileInputStream
FileOutputStream
BufferedInputStream
BufferedOutputStream
8、对象字节流:
ObjectOutputStream
ObjectInputStream
必须实现Serializable借口
必须保证其属性均可序列化
transient修饰的属性为临时属性,不参与序列化
读取到文件末尾:java.io.EOFException
9、字符编码
UTF-8
针对Unicode可变长度字符编码
GB2312
简体中文
GBK
简体中文、扩展
当编码方式和解码方式不一致时,会出现乱码
10、字符流
Reader
Writer
FileWrite
FileReader
BufferedWrite
BufferedReader
PrintWrite
InputStreamReader
OutputStreamWriter
可将字节流转换为字符流
可设置字符的编码方式
使用步骤: I创建节点流 II创建过滤流 设置字符编码集 III封装过滤流 IV 读写数据 V关闭流 14、File类
概念:代表了物理盘符中的一个文件或文件夹
对获取文件进行过滤,满足条件的文件或文件夹才能保存下来