java.lang.Object java.io.OutputStream
此抽象类是表示输出字节流的所有类的超类。输出流接受输出字节并将这些字节发送到某个接收器。
需要定义 OutputStream
子类的应用程序必须始终提供至少一种可写入一个输出字节的方法。
BufferedOutputStream
,
ByteArrayOutputStream
,
DataOutputStream
,
FilterOutputStream
,
InputStream
,
write(int)
构造方法摘要 | |
---|---|
OutputStream() |
方法摘要 | |
---|---|
void |
close() 关闭此输出流并释放与此流有关的所有系统资源。 |
void |
flush() 刷新此输出流并强制写出所有缓冲的输出字节。 |
void |
write(byte[] b) 将 b.length 个字节从指定的 byte 数组写入此输出流。 |
void |
write(byte[] b, int off, int len) 将指定 byte 数组中从偏移量 off 开始的 len 个字节写入此输出流。 |
abstract void |
write(int b) 将指定的字节写入此输出流。 |
从类 java.lang.Object 继承的方法 |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
构造方法详细信息 |
---|
public OutputStream()
方法详细信息 |
---|
public abstract void write(int b) throws IOException
write
的常规协定是:向输出流写入一个字节。要写入的字节是参数
b
的八个低位。
b
的 24 个高位将被忽略。
OutputStream
的子类必须提供此方法的实现。
b
-
字节
IOException
- 如果发生 I/O 错误。尤其是,如果已关闭输出流,则可能抛出
IOException
。
public void write(byte[] b) throws IOException
b.length
个字节从指定的 byte 数组写入此输出流。
write(b)
的常规协定是:应该与调用
write(b, 0, b.length)
的效果完全相同。
b
- 数据。
IOException
- 如果发生 I/O 错误。
write(byte[], int, int)
public void write(byte[] b, int off, int len) throws IOException
off
开始的
len
个字节写入此输出流。
write(b, off, len)
的常规协定是:将数组
b
中的某些字节按顺序写入输出流;元素
b[off]
是此操作写入的第一个字节,
b[off+len-1]
是此操作写入的最后一个字节。
OutputStream
的 write
方法对每个要写出的字节调用一个参数的 write 方法。建议子类重写此方法并提供更有效的实现。
如果 b
为 null
,则抛出 NullPointerException
。
如果 off
为负,或 len
为负,或者 off+len
大于数组 b
的长度,则抛出 IndexOutOfBoundsException。
b
- 数据。
off
- 数据中的初始偏移量。
len
- 要写入的字节数。
IOException
- 如果发生 I/O 错误。尤其是,如果关闭了输出流,则抛出
IOException
。
public void flush() throws IOException
flush
的常规协定是:如果此输出流的实现已经缓冲了以前写入的任何字节,则调用此方法指示应将这些字节立即写入它们预期的目标。
如果此流的预期目标是由基础操作系统提供的一个抽象(如一个文件),则刷新此流只能保证将以前写入到流的字节传递给操作系统进行写入,但不保证能将这些字节实际写入到物理设备(如磁盘驱动器)。
OutputStream
的 flush
方法不执行任何操作。
IOException
- 如果发生 I/O 错误。
public void close() throws IOException
close
的常规协定是:该方法将关闭输出流。关闭的流不能执行输出操作,也不能重新打开。
OutputStream
的 close
方法不执行任何操作。
IOException
- 如果发生 I/O 错误。