- 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()
-
方法摘要
所有方法 静态方法 实例方法 抽象方法 具体的方法 变量和类型 方法 描述 void
close()
关闭此输出流并释放与此流关联的所有系统资源。void
flush()
刷新此输出流并强制写出任何缓冲的输出字节。static OutputStream
nullOutputStream()
返回一个新的OutputStream
,它丢弃所有字节。void
write(byte[] b)
将b.length
字节从指定的字节数组写入此输出流。void
write(byte[] b, int off, int len)
将从偏移量off
开始的指定字节数组中的len
字节写入此输出流。abstract void
write(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错误。
-
-