O 是 input 和 output 两个单词的缩写。在计算机上就是输入与输出。(数据在不同介质上的传递)
输入与输出就是基本的「人机交互」。常见的设备:
- 键盘
- 鼠标
- 手写笔
- 触摸屏
- 显示器
- 打印机
- VR眼镜
概念解释
在 Java 中引入了 “流” 的概念,它表示任何有能力产生数据源或有能力接收数据源的对象。
数据源可以想象成水源,海水、河水、湖水、一杯水等等。数据传输可以想象为水的运输,古代有用桶运水,用竹管运水的,现在有钢管运水,不同的运输方式对应不同的运输特性。
在流的基础上,我们再将 IO 分为字节流和字符流两个大的分类。现代计算机是以二进制进行计算(0和1)的,计算机中的所有文件(包括文件夹)都是由0和1组成的。也就是我们说的字节。
鼠标右击一个文件夹或者文件,可以在属性中查看其大小。在小括号内都可看到,有字节标识的。
在这么多不同类型的文件中,我们日常使用频率最高的可能就是以文字相关操作的文件了。比如文本文件,excel,markdown,word 等等。这类文件使用字符流相关的类来进行操作。