1、 IO流用来处理设备之间的数据传输
a) 上传文件
b) 下载文件
2、 Java对数据的操作都是通过流的方式
3、 Java 用于操作流的对象都在IO包中
4、 IO流分类
a) 流向
i. 输入流:程序读取数据
ii. 输出流:程序向硬盘写入数据
b) 数据类型
i. 字节流:
1. 字节输入流 读数据 InputStream
2. 字节输出流 写数据 OutPutStream
ii. 字符流:为了方便操作文本数据
1. 字符输入流 读数据 Reader
2. 字符输出流 写数据 Writer
c) 默认按照数据类型进行分类。
5、基本流和高级流
基本流:可以直接操作文件的
FileInputStream
FileOutputStream
FileReader
FileWriter
…………
高级流:在基本流基础上提供一些其他功能
其中PrintStream、PrintStream既是基本流又是高级流
6、 总结
a) 字符流复制数据5种方式:
i. 字符缓冲区每次复制一个字符数组
ii. 字符缓冲区每次复制一个字符
iii. 每次复制一个字符数组
iv. 每次复制一个字符
v. 每次复制一行数据
b) 字节流复制数据的4种方式
i. 字节缓冲区每次复制一个字节数组
ii. 字节缓冲区每次复制一个字节
iii. 每次复制一个字节数组
iv. 每次复制一个字节
c) 写入时文件如果不存在会自动创建,但是读的时候源文件必须存在