字节流由两个类的层次结构定义.在他们的顶端是两个抽象类:InputStream和OutputStream.InputStream定义了字节流输入流共有的特点,而OutputStrean描述的是字节输出流的行为.
从InputStream和OutputStream创建的几个具体的子类提供了各种功能,并处理不同设备(如磁盘文件)进行读写的细节.字节流类参见下表:
字节流类
|
含义
|
BufferedInputStream
|
输入流缓冲
|
BufferedOutputStream
|
输出流缓冲
|
ByteArrayInputStream
|
从字节数组读取的输入流
|
ByteArrayOutputStream
|
写入字节数组的输出流 |
DataInputStream
|
包含用于读取Java标准数据类型方法的输入流
|
DataOutputStream
|
包含用于写入Java标准数据类型方法的输出流
|
FileInputStream
|
从文件读取的输入流
|
FileOutputStream
|
写入文件的输出流 |
FilterInputStream
|
实现InputStream
|
FilterOutputStream
|
实现OutputStream
|
InputStream
|
描述流输入的抽象类
|
ObjectInputStream
|
对象的输入流
|
ObjectOutputStream
|
对象的输出流
|
OutputStream
|
描述流输出的抽象类
|
PipedInputStream
|
输入管道(input pipe)
|
PipedOutputStream
|
输出管道(output pipe)
|
PrintStream
|
包含print()和println()的输出流
|
PushbackInputStream
|
允许直接返回到流的输入流
|
SequenceInputStream
|
一个输入流,是两个或多个输入流的组合,逐个顺序读取
|