10. IO流
10.1. 介绍
- 流:是一抽象概念,是对数据传输的总称。也就是说数据在设备间的传输称为流。更具体一点,是内存与存储设备之间传输数据的通道。
- IO流:对于数据的传输,可以看做是一种数据的流动,按照流动的方向,以内存为基准,分为输入input 和输出output ,即流向内存是输入流,流出内存的输出流。
- Java中I/O操作主要是指使用java.io包下的内容,进行输入、输出操作。输入也叫做读取数据,输出也叫做作写出数据。
10.2. 分类
- 按方向分
- 输入流: 将 < 存储设备 > 中的内容读入到 < 内存 > 中.
- 输出流: 将 < 内存 > 中的内容写入到 < 存储设备 > 中.
- 按代为分
- 字节流: 以字节为单位, 可以读写所有数据.
- 字符流: 以字符为单位, 只能读写文本数据.
- 按功能分
- 节点流: 具有实际传输数据的读写功能.
- 过滤流: 在街电流的基础之上增强功能.
10.3. IO流的作用
用来处理设备间数据传输问题
常见的应用:文件复制、文件上传、文件下载
10.4. IO流的使用场景
如果操作的是纯文本文件,优先使用字符流
如果操作的是二进制文件,优先使用字节流
如果不确定,则优先使用字节流