输入流类型
I/O-1
类 | 功能 | 构造器参数 | 如何使用 |
---|---|---|---|
ByteArrayInputStream | 允许将内存的缓冲区当做 InputStream 使用 | 缓冲区,字节将从中取出 | 作为一种数据源:将其与 FilterInputStream 对象相连以提供有用接口 |
StringBufferInputStream | 将 String 转换成 InputStream | 字符串。底层实现实际使用 StringBuffer | 作为一种数据源:将其与 FilterInputStream 对象相连以提供有用接口 |
FileInputStream | 用于从文件中读取信息 | 字符串,表示文件名、文件或 FileDescriptor 对象 | 作为一种数据源:将其与 FilterInputStream 对象相连以提供有用接口 |
PipedInputStream | 产生用于写入相关 PipedOutputStream 的数据。实现“管道化”概念 | PipedOutputSteam | 作为多线程中的数据源:将其与 FilterInputStream 对象相连以提供有用接口 |
SequenceInputStream | 将两个或多个 InputStream 对象转换成一个 InputStream | 两个 InputStream 对象或一个容纳 InputStream 对象的容器 Enumeration | 作为一种数据源:将其与 FilterInputStream 对象相连以提供有用接口 |
FilterInputStream | 抽象类,作为“装饰器”的接口。其中,“装饰器”为其它的 InputStream 类提供有用的功能。见表 I/O-3 | 见表 I/O-3 | 见表 I/O-3 |
输出流类型
I/O-2
类 | 功能 | 构造器参数 | 如何使用 |
---|---|---|---|
ByteArrayOutputStream | 在内存中创建缓冲区。所有送往“流”的数据都要放置在此缓冲区 | 缓冲区初始大小(可选) | 用于指定数据的目的地:将其与 FilterOutputStream 对象相连以提供有用接口 |
FileOutputStream | 用于将信息写入文件 | 字符串,表示文件名、文件或 FileDescriptor 对象 | 用于指定数据的目的地:将其与 FilterOutputStream 对象相连以提供有用接口 |
PipedOutputStream | 任何写入其中的信息都会自动作为相关 PipedInputStream 的输出。实现“管道化”概念 | PipedInputStream | 指定用于多线程的数据的目的地:将其与 FilterOutputStream 对象相连以提供有用接口 |
FilterOutputStream | 抽象类,作为“装饰器”的接口。其中,“装饰器”为其它 OutputStream 提供有用功能。见表 I/O-4 | 见表 I/O-4 | 见表 I/O-4 |
FilterInputStream
类型
I/O-3
类 | 功能 | 构造器参数 | 如何使用 |
---|---|---|---|
DataInputStream | 与 DataOutputStream 搭配使用,按照移植方式从流读取基本数据类型(int 、char 、long 等) | InputStream | 包含用于读取基本数据类型的全部接口 |
BufferedInputStream | 使用它可以防止每次读取时都得进行实际写操作。代表“使用缓冲区” | InputStream ,可以指定缓冲区大小(可选) | 本质上不提供接口,只是向进程添加缓冲功能。与接口对象搭配 |
LineNumberInputStream | 跟踪输入流中的行号,可调用 getLineNumber() 和 setLineNumber(int) | InputStream | 仅增加了行号,因此可能要与接口对象搭配使用 |
PushbackInputStream | 具有能弹出一个字节的缓冲区,因此可以将读到的最后一个字符回退 | InputStream | 通常作为编译器的扫描器,我们可能永远也不会用到 |
FilterOutputStream
类型
I/O-4
类 | 功能 | 构造器参数 | 如何使用 |
---|---|---|---|
DataOutputStream | 与 DataInputStream 搭配使用,因此可以按照移植方式向流中写入基本数据类型(int 、char 、long 等) | OutputStream | 包含用于写入基本数据类型的全部接口 |
PrintStream | 用于产生格式化输出。其中 DataOutputStream 处理数据的存储,PrintStream 处理显示 | OutputStream ,可以用 boolean 值指示是否每次换行时清空缓冲区(可选) | 应该是对 OutputStream 对象的 final 封装。可能会经常用到它 |
BufferedOutputStream | 使用它以避免每次发送数据时都进行实际的写操作。代表“使用缓冲区”。可以调用 flush() 清空缓冲区 | OutputStream ,可以指定缓冲区大小(可选) | 本质上并不提供接口,只是向进程添加缓冲功能。与接口对象搭配 |
来源与去处
来源与去处:Java 1.0 类 | 相应的 Java 1.1 类 |
---|---|
InputStream | Reader 适配器: InputStreamReader |
OutputStream | Writer 适配器: OutputStreamWriter |
FileInputStream | FileReader |
FileOutputStream | FileWriter |
StringBufferInputStream (已弃用) | StringReader |
(无相应的类) | StringWriter |
ByteArrayInputStream | CharArrayReader |
ByteArrayOutputStream | CharArrayWriter |
PipedInputStream | PipedReader |
PipedOutputStream | PipedWriter |