OutputStream
java.lang.Object
|—java.io.OutputStream
public abstract class OutputStream
extends Object
implements Closeable, Flushable
这个抽象类是代表字节输出流的所有类的超类。 输出流接受输出字节并将它们发送到某个接收器。
需要定义 OutputStream 子类的应用程序必须始终提供至少一个写入一个字节输出的方法。
Since:
JDK1.0
构造函数摘要
构造函数 | 描述 |
---|---|
OutputStream() |
方法总结
修饰符和类型 | 方法 | 描述 |
---|---|---|
void | close() | 关闭此输出流并释放与此流关联的所有系统资源。 |
void | flush() | 刷新此输出流并强制写出任何缓冲的输出字节。 |
void | write(byte[] b) | 将指定字节数组中的 b.length 个字节写入此输出流。 |
void | write(byte[] b, int off, int len) | 将指定字节数组中的 len 个字节写入此输出流。 |
abstract void | write(int b) | 将指定字节写入此输出流。 |
从类 java.lang.Object 继承的方法 |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
构造函数详细信息
OutputStream
public OutputStream()
方法详情
write
public abstract void write(int b) throws IOException
将指定字节写入此输出流。 写入的一般约定是将一个字节写入输出流。 要写入的字节是参数 b 的 8 个低位。 b 的高 24 位被忽略。
OutputStream 的子类必须提供此方法的实现。
参数:
参数名称 | 参数描述 |
---|---|
b | 字节。 |
Throws:
Throw名称 | Throw描述 |
---|---|
IOException | 如果发生 I/O 错误。 特别是,如果输出流已关闭,则可能会引发 IOException。 |
write
public void write(byte[] b) throws IOException
将指定字节数组中的 b.length 个字节写入此输出流。 write(b) 的一般约定是它应该与调用 write(b, 0, b.length) 具有完全相同的效果。
参数:
参数名称 | 参数描述 |
---|---|
b | 数据。 |
Throws:
Throw名称 | Throw描述 |
---|---|
IOException | 如果发生 I/O 错误。 |
write
public void write(byte[] b, int off, int len) throws IOException
将指定字节数组中的 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 | 要写入的字节数。 |
Throws:
Throw名称 | Throw描述 |
---|---|
IOException | 如果发生 I/O 错误。 特别是,如果输出流关闭,则会引发 IOException。 |
flush
public void flush() throws IOException
刷新此输出流并强制写出任何缓冲的输出字节。 flush 的一般约定是调用它表示,如果先前写入的任何字节已被输出流的实现缓冲,则应立即将这些字节写入其预期目的地。
如果此流的预期目的地是底层操作系统提供的抽象,例如文件,则刷新流仅保证先前写入流的字节被传递给操作系统进行写入; 它不能保证它们实际上被写入了物理设备,例如磁盘驱动器。
OutputStream 的 flush 方法什么都不做。
指定者:
在接口 Flushable 中刷新
Throws:
Throw名称 | Throw描述 |
---|---|
IOException | 如果发生 I/O 错误。 |
close
public void close() throws IOException
关闭此输出流并释放与此流关联的所有系统资源。 close 的一般约定是它关闭输出流。 关闭的流无法执行输出操作,也无法重新打开。
OutputStream 的 close 方法什么也不做。
指定者:
在接口 AutoCloseable 中关闭
指定者:
在接口Closeable中关闭
Throws:
Throw名称 | Throw描述 |
---|---|
IOException | 如果发生 I/O 错误。 |