1.IO流的概念
Java的IO是实现输入和输出的基础,可以方便的实现数据的输入和输出操作。在Java中把对于输入/输入操作是以流的方式进行操作的。java.io 包下提供了大量的供我们使用的操作【流】的方法和接口,用于进行各类数据的处理和传输。
计算机的输入和输出都是通过二进制来完成的。在网络中我们要传递数据就要将数据【流化】,换句话说就是将文件、复杂的对象转化成能够在网络上传输的一个个的0和1,我在这里先画几幅图帮助大家理解一下。
2.IO流的分类
2.1按照流向分
输入流: 只能从中读取数据,而不能向其写入数据。
输出流:只能向其写入数据,而不能向其读取数据。
在计算机的文件传输的过程如下:
2.2按照操作单元划分
字节流:是一个字节一个字节的读取或写入
字符流:是一个字符一个字符的读取或写入,一个字符就是两个字节,主要用来处理字符。
2.3按照角色分
节点流:直接从/向一个特定的IO设备(如磁盘,网络)读/写数据的流,称为节点流。
处理流:“连接”在已存在的流(节点流或处理流)之上通过对数据的处理为程序提供更为强大的读写功能的流