首先让我们认识下什么是Java的 IO流
Java IO即Java 输入输出系统。不管我们编写何种应用,都难免和各种输入输出相关的媒介打交道,其实和媒介进行IO的过程是十分复杂的,这要考虑的因素特别多,比如我们要考虑和哪种媒介进行IO(文件、控制台、网络等等),我们还要考虑具体和它们的通信方式(顺序、随机、二进制、按字符、按字、按行等等)。Java类库的设计者通过设计大量的类来攻克这些难题,这些类就位于java.io包中。
在JDK1.4之后,为了提高Java IO的效率,Java又提供了一套新的IO,Java New IO简称Java NIO。它在标准java代码中提供了高速的面向块的IO操作。
接下来带大家了解下Io流的分类
节点流:又叫低级流
处理流:高级流
字节流和字符流的区别在于数据处理单位的不同。
字节流:一次读或写8位二进制。字节流关于输入和输出的基类有两个。
字符流:一次读或写16位二进制。字符流关于输入和输出的基类有两个。
字节输入流【FileInputStream】
字节输入流读取文件的实现步骤:
- 关联实体文件,创建FileInputStream对象
- 调用read方法
- 关闭输入流【close】
字节输出流【FileOutputStream】
字节流输出数据的代码实现步骤:
- 关联实体文件,创建输出流对象
- 调用write方法
- 关闭输出流
字符输入流【FileReader】
字符输入流读取文件的实现步骤:
- 关联实体文件,创建FileReader对象
- 调用read方法
- 关闭输入流【close】
字符输出流【FileWriter】
字符流输出数据的代码实现步骤:
- 关联实体文件,创建输出流对象
- 调用write方法
- 关闭输出流
- 转换流
电脑中任何数据都是以二进制形式存在的,文件被读取显示通过字节流读取然后转换为字符流显示,若需要将数据写入文件中,那么数据最终在文件中写入的是二进制形式,所以可以显示指定二进制流关联文件,字符流转换为字节流
字节流转字符流【InputStreamReader】
字节流转成字符流的步骤:
- 准备一个字节流
- 将字节流转成字符流输出
- 关闭流