java.lang.Object
java.io.OutputStream
- 所有已实现的接口:
-
Closeable,Flushable,AutoCloseable
- 直接已知的子类:
-
ByteArrayOutputStream,FileOutputStream,FilterOutputStream,ObjectOutputStream,PipedOutputStream
这个抽象类是表示字节输出流的所有类的超类。输出流接受输出字节并将它们发送到某个目标。
需要定义OutputStream子类的应用程序必须始终提供至少一个写入一个输出字节的方法。
- 自从:
- 1.0
- 参见:
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidclose()关闭此输出流并释放与此流关联的任何系统资源。voidflush()刷新此输出流并强制写出任何缓冲的输出字节。static OutputStream返回一个新的OutputStream,它丢弃所有字节。voidwrite(byte[] b) 从指定的字节数组中写入b.length字节到此输出流。voidwrite(byte[] b, int off, int len) 从指定的字节数组开始的偏移量off处写入len字节到此输出流。abstract voidwrite(int b) 将指定的字节写入此输出流。
-
Constructor Details
-
OutputStream
public OutputStream()子类调用的构造函数。
-
-
Method Details
-
nullOutputStream
返回一个新的OutputStream,它丢弃所有字节。返回的流最初是打开的。通过调用close()方法关闭流。随后对close()的调用不起作用。在流打开时,
write(int)、write(byte[])和write(byte[], int, int)方法均不起作用。在流关闭后,这些方法都会抛出IOException。flush()方法不起作用。- 返回:
-
丢弃所有字节的
OutputStream - 自从:
- 11
-
write
将指定的字节写入此输出流。write的一般约定是将一个字节写入输出流。要写入的字节是参数b的八个低位。参数b的24个高位被忽略。- 参数:
-
b- 字节。 - 抛出:
-
IOException- 如果发生I/O错误。特别地,如果输出流已关闭,可能会抛出IOException。
-
write
从指定的字节数组中写入b.length字节到此输出流。write(b)的一般约定是它应该与调用write(b, 0, b.length)具有完全相同的效果。- 参数:
-
b- 数据。 - 抛出:
-
IOException- 如果发生I/O错误。 - 参见:
-
write
从指定的字节数组的偏移量off开始写入len字节到此输出流。write(b, off, len)的一般约定是数组b中的一些字节按顺序写入输出流;元素b[off]是此操作写入的第一个字节,b[off+len-1]是此操作写入的最后一个字节。如果
b为null,则会抛出NullPointerException。如果
off为负数,或len为负数,或off+len大于数组b的长度,则会抛出IndexOutOfBoundsException。- API注释:
- 鼓励子类重写此方法并提供更有效的实现。
- 实现要求:
-
OutputStream的write方法在要写出的每个字节上调用一个参数的写方法。 - 参数:
-
b- 数据。 -
off- 数据中的起始偏移量。 -
len- 要写入的字节数。 - 抛出:
-
IOException- 如果发生I/O错误。特别地,如果输出流已关闭,可能会抛出IOException。 -
IndexOutOfBoundsException- 如果off为负数,len为负数,或len大于b.length - off
-
flush
刷新此输出流并强制写出任何缓冲的输出字节。flush的一般约定是调用它表示,如果先前写入的任何字节已被输出流的实现缓冲,则应立即将这些字节写入其预期的目的地。如果此流的预期目的地是底层操作系统提供的抽象,例如文件,则刷新流仅保证先前写入流的字节被传递给操作系统进行写入;它不保证它们实际被写入物理设备,如磁盘驱动器。
- 指定者:
-
flush在接口Flushable中 - 实现要求:
-
OutputStream的flush方法不起作用。 - 抛出:
-
IOException- 如果发生I/O错误。
-
close
关闭此输出流并释放与此流关联的任何系统资源。close的一般约定是关闭输出流。关闭的流不能执行输出操作,也不能重新打开。- 指定者:
-
close在接口AutoCloseable中 - 指定者:
-
close在接口Closeable中 - 实现要求:
-
OutputStream的close方法不起作用。 - 抛出:
-
IOException- 如果发生I/O错误。
-