Java IO流

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原始类型数据存取的方法

你可能感兴趣的:(Java IO流)