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 其源为一个字符串的字符流。