JavaIO(一):分类

Author Avatar
罗炜光 4月 25, 2016
  • 在其它设备中阅读本文章

Java流的分类

  1. 按流向分:
    输入流: 程序可以从中读取数据的流。
    输出流: 程序能向其中写入数据的流。

  2. 按数据传输单位分:
    字节流: 以字节为单位传输数据的流
    字符流: 以字符为单位传输数据的流

InputStream

类 功能
ByteArrayInputStream 允许将内存的缓冲区当做InputStream使用
StringBufferInputStream(已过时) 将String转换成InputStream
FileInputStream 用于从文件中读取信息
PipedInputStream 产生用于写入相关PipedOutputStream的数据。实现管道化概念
SequenceInputStream 将两个或多个InputStream对象转换成单一InputStream
FilterInputStream 抽象类,作为”装饰器的”接口。其中”装饰器”为其他的InputStream类提供有用功能
BufferedInputStream BufferedInputStream 为另一个输入流添加一些功能,即缓冲输入以及支持 mark 和 reset 方法的能力。
DataInputStream DataInputStream允许应用程序以与机器无关方式从底层输入流中读取基本 Java 数据类型。
LineNumberInputStream(已过时) 此类是一个输入流过滤器,它提供跟踪当前行号的附加功能。
PushbackInputStream PushbackInputStream 为另一个输入流添加性能,即“推回 (push back)”或“取消读取 (unread)”一个字节的能力。
ObjectInputStream 对以前使用 ObjectOutputStream 写入的基本数据和对象进行反序列化。

OutputStream

类 功能
ByteArrayOutputStream 在内存中创建缓冲区。所有送往“流”的数据都要放置在 此缓冲区
FileOutputStream 用于将信息写入文件
FilterOutputStream 抽象类,作为”装饰器的”接口。其中”装饰器”为其他的InputStream类提供有用功能
ObjectOutputStream ObjectOutputStream 将 Java 对象的基本数据类型和图形写入 OutputStream。
PipedOutputStream 任何写入其中的信息都会自动作为相关PipedInputStream的输出。实现”管道化”概念
BufferedOutputStream 该类实现缓冲的输出流。通过设置这种输出流,应用程序就可以将各个字节写入底层输出流中,而不必针对每次字节写入调用底层系统。
DataOutputStream 数据输出流允许应用程序以适当方式将基本 Java 数据类型写入输出流中。然后,应用程序可以使用数据输入流将数据读入。
PrintStream PrintStream 为其他输出流添加了功能,使它们能够方便地打印各种数据值表示形式。

Writer

类 功能
BufferedWriter 将文本写入字符输出流,缓冲各个字符,从而提供单个字符、数组和字符串的高效写入。
CharArrayWriter 此类实现一个可用作 Writer 的字符缓冲区。
FilterWriter 用于写入已过滤的字符流的抽象类。
OutputStreamWriter OutputStreamWriter 是字符流通向字节流的桥梁
FileWriter 用来写入字符文件的便捷类。
PipedWriter 传送的字符输出流。
PrintWriter 向文本输出流打印对象的格式化表示形式。
StringWriter 一个字符流,可以用其回收在字符串缓冲区中的输出来构造字符串。

Reader

类 功能
BufferedReader 字符输入流中读取文本,缓冲各个字符,从而实现字符、数组和行的高效读取
LineNumberReader 跟踪行号的缓冲字符输入流
CharArrayReader 此类实现一个可用作字符输入流的字符缓冲区。
FilterReader 用于读取已过滤的字符流的抽象类
PushbackReader 允许将字符推回到流的字符流 reader
InputStreamReader InputStreamReader 是字节流通向字符流的桥梁
FileReader 用来读取字符文件的便捷类
PipedReader 传送的字符输入流。
StringReader 其源为一个字符串的字符流。