Java IO流
都定义在java.io包中,定义了多个流类型(类或 抽象类)来实现输入/输出功能;可以从不同角度来对其进行分类:
- 流的方向不同分为输入流和输出流
- 处理数据单位不同分为字节流和字符流
- 功能不同分为节点流和处理流
都继承自下面四个抽象流
主要有四个抽象类 - 输入:输出字节流 InputStream 、OutputStream
- 输入:输出字符流 Reader 、Writer
节点流和处理流
继承自InputStream的流都是用于向程序中输入数据,且数据的单位为字节(8bit)。
继承自OutputStreame 的流是用于程序中输入数据,切数据的单位为字节(8bit)。
继承自Reader的流都是用于向程序中输入数据,且数据的单位为字符(16bit)。
继承自Writer的流都是用于程序中输入数据,且数据的单位为字符(16bit)。
缓存区
- BufferedInputStream BufferedOutputStream
- BufferedReader BufferedWriter
转换流
- InputStreamReader
- OutputStreamWriter
数据流
- DataInputStream
- DataOutputStream
- 需要套接在 InputStream 和 OutputStream 上面,提供了与机器无关的Java原始类型数据存取的方法
Java IO流
都定义在java.io包中,定义了多个流类型(类或 抽象类)来实现输入/输出功能;可以从不同角度来对其进行分类:
流的方向不同分为输入流和输出流
处理数据单位不同分为字节流和字符流
功能不同分为节点流和处理流
都继承自下面四个抽象流
主要有四个抽象类
输入:输出字节流 InputStream 、OutputStream
输入:输出字符流 Reader 、Writer
节点流和处理流
继承自InputStream的流都是用于向程序中输入数据,且数据的单位为字节(8bit)。
继承自OutputStreame 的流是用于程序中输入数据,切数据的单位为字节(8bit)。
继承自Reader的流都是用于向程序中输入数据,且数据的单位为字符(16bit)。
继承自Writer的流都是用于程序中输入数据,且数据的单位为字符(16bit)。
缓存区
BufferedInputStream BufferedOutputStream
BufferedReader BufferedWriter
转换流
InputStreamReader
OutputStreamWriter
数据流
DataInputStream
DataOutputStream
需要套接在 InputStream 和 OutputStream 上面,提供了与机器无关的Java原始类型数据存取的方法