一:流: 流动、流向 从一端移动到另一端 源头与目的地
二:程序 与(文件 | 数组 | 网络连接 | 数据库),以程序为中心
三:IO流分类
1. 流向:
输入流和输出流
2. 数据:
字节流:二进制,可以一切文件,包括 纯文本 、doc、 音频、视频等。
字符流:文本文件,只能处理纯文件。
3. 功能:
节点:包裹源头
处理:增强功能,提供性能
- 字符流与字节流(重点)与文件
- 字节流:
输入流:InputStream 、read(byte[] b)、read(byte[] b, int off, int len) + close()、FileInputStream;
输出流:OutputStream、write(byte[] b)、write(byte[] b, int off, int len) + flush()、 + close()、FileOutputStream(); - 字符流:
输入流:Reader read(char [] cbuf)、read(char[] cbuf, int off, int len)+close()、FileReader;
输出流:Writer write(char [] cbuf)、write(char[] cbuf, int off, int len)+flush()+close()、write(String str, int off, int len)、FileWriter;
- 字节流:
四:操作
1.举例:搬家 ---》读取文件
1)、关联房子 ---》建立与文件联系
2)、选择搬家 ---》选择对应流
3)、搬家 ---》读取|写出
a)、卡车大小 ---》数组大小
b)、运输 ---》读取、写出
4)、打发Over ----》释放资源
2.操作
1).建立联系
2).选择流
3).操作 数组大小 read write