- java.lang.Object
-
- java.io.OutputStream
-
- 实现的所有接口
-
Closeable,Flushable,AutoCloseable
- 已知直接子类:
-
ByteArrayOutputStream,FileOutputStream,FilterOutputStream,ObjectOutputStream,PipedOutputStream
public abstract class OutputStream extends Object implements Closeable, Flushable
此抽象类是表示输出字节流的所有类的超类。 输出流接受输出字节并将它们发送到某个接收器。需要定义
OutputStream的子类的应用程序必须始终至少提供一个写入一个输出字节的方法。- 从以下版本开始:
- 1.0
- 另请参见:
-
BufferedOutputStream,ByteArrayOutputStream,DataOutputStream,FilterOutputStream,InputStream,write(int)
-
-
构造方法摘要
构造方法 构造器 描述 OutputStream()
-
方法摘要
所有方法 静态方法 实例方法 抽象方法 具体的方法 变量和类型 方法 描述 voidclose()关闭此输出流并释放与此流关联的所有系统资源。voidflush()刷新此输出流并强制写出任何缓冲的输出字节。static OutputStreamnullOutputStream()返回一个新的OutputStream,它丢弃所有字节。voidwrite(byte[] b)将b.length字节从指定的字节数组写入此输出流。voidwrite(byte[] b, int off, int len)将从偏移量off开始的指定字节数组中的len字节写入此输出流。abstract voidwrite(int b)将指定的字节写入此输出流。
-
-
-
方法详细信息
-
nullOutputStream
public static OutputStream nullOutputStream()
返回一个新的OutputStream,它丢弃所有字节。 返回的流最初是打开的。 通过调用close()方法关闭流。 对close()后续调用无效。虽然流是开放的,
write(int),write(byte[])和write(byte[], int, int)方法什么也不做。 关闭流后,这些方法全部抛出IOException。flush()方法什么都不做。- 结果
-
OutputStream,丢弃所有字节 - 从以下版本开始:
- 11
-
write
public abstract void write(int b) throws IOException将指定的字节写入此输出流。write的一般合同是将一个字节写入输出流。 要写入的字节是参数b的八个低位。b的24个高位被忽略。OutputStream子类必须提供此方法的实现。- 参数
-
b-byte。 - 异常
-
IOException- 如果发生I / O错误。 特别是,如果输出流已关闭,IOException可能会抛出IOException。
-
write
public void write(byte[] b) throws IOException将指定字节数组中的b.length个字节写入此输出流。write(b)的总合同是它应该与呼叫write(b, 0, b.length)具有完全相同的效果。- 参数
-
b- 数据。 - 异常
-
IOException- 如果发生I / O错误。 - 另请参见:
-
write(byte[], int, int)
-
write
public void write(byte[] b, int off, int len) throws IOException将从偏移量off开始的指定字节数组中的len字节写入此输出流。write(b, off, len)的一般合同是数组b中的一些字节按b写入输出流; elementb[off]是写入的第一个字节,b[off+len-1]是此操作写入的最后一个字节。该
write的方法OutputStream调用写出在每个字节中的一个参数的写入方法。 鼓励子类重写此方法并提供更有效的实现。如果
b是null,则抛出NullPointerException。如果
off为负,或len为负,或off+len大于数组b的长度,则抛出IndexOutOfBoundsException。- 参数
-
b- 数据。 -
off- 数据中的起始偏移量。 -
len- 要写入的字节数。 - 异常
-
IOException- 如果发生I / O错误。 特别是,如果输出流关闭,则抛出IOException。
-
flush
public void flush() throws IOException刷新此输出流并强制写出任何缓冲的输出字节。flush的一般合同是调用它表示,如果先前写入的任何字节已被输出流的实现缓冲,则应立即将这些字节写入其预期目的地。如果该流的预期目的地是由底层操作系统提供的抽象,例如文件,则刷新流仅保证先前写入流的字节被传递到操作系统以进行写入; 它不能保证它们实际上写入物理设备,如磁盘驱动器。
flush方法OutputStream什么也没做。- Specified by:
-
flush在界面Flushable - 异常
-
IOException- 如果发生I / O错误。
-
close
public void close() throws IOException关闭此输出流并释放与此流关联的所有系统资源。close的一般合同是它关闭输出流。 封闭流无法执行输出操作,无法重新打开。该
close的方法OutputStream什么都不做。- Specified by:
-
close,界面AutoCloseable - Specified by:
-
close,界面Closeable - 异常
-
IOException- 如果发生I / O错误。
-
-