模块 java.base
 java.io

类 OutputStream

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
参见:
  • 构造方法总结

    构造方法
    构造方法
    描述
    子类调用的构造方法。
  • 方法总结

    修饰符和类型
    方法
    描述
    void
    关闭此输出流并释放与此流关联的任何系统资源。
    void
    刷新此输出流并强制写出任何缓冲的输出字节。
    static OutputStream
    返回一个丢弃所有字节的新 OutputStream
    void
    write(byte[] b)
    将指定字节数组中的 b.length 个字节写入此输出流。
    void
    write(byte[] b, int off, int len)
    从偏移量 off 开始的指定字节数组中将 len 个字节写入此输出流。
    abstract void
    write(int b)
    将指定字节写入此输出流。

    在类 java.lang.Object 中声明的方法

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • 构造方法详细信息

    • OutputStream

      public OutputStream()
      子类调用的构造方法。
  • 方法详情

    • 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 位高位被忽略。
      参数:
      b - byte
      抛出:
      IOException - 如果发生 I/O 错误。特别是,如果输出流已关闭,则可能会抛出 IOException
    • write

      public void write(byte[] b) throws IOException
      将指定字节数组中的 b.length 个字节写入此输出流。 write(b) 的一般合同是它应该与调用 write(b, 0, b.length) 具有完全相同的效果。
      参数:
      b - 数据。
      抛出:
      IOException - 如果发生 I/O 错误。
      参见:
    • write

      public void write(byte[] b, int off, int len) throws IOException
      从偏移量 off 开始的指定字节数组中将 len 个字节写入此输出流。 write(b, off, len) 的一般约定是数组 b 中的一些字节按顺序写入输出流;元素 b[off] 是写入的第一个字节,b[off+len-1] 是此操作写入的最后一个字节。

      如果 bnull,则抛出 NullPointerException

      如果 off 为负数,或 len 为负数,或 off+len 大于数组 b 的长度,则抛出 IndexOutOfBoundsException

      API 注意:
      鼓励子类覆盖此方法并提供更有效的实现。
      实现要求:
      OutputStreamwrite方法对每个要写出的字节调用一个参数的write方法。
      参数:
      b - 数据。
      off - 数据中的起始偏移量。
      len - 要写入的字节数。
      抛出:
      IOException - 如果发生 I/O 错误。特别是,如果输出流关闭,则会抛出 IOException
      IndexOutOfBoundsException - 如果 off 为负,len 为负,或者 len 大于 b.length - off
    • flush

      public void flush() throws IOException
      刷新此输出流并强制写出任何缓冲的输出字节。 flush 的一般契约是调用它表明,如果先前写入的任何字节已被输出流的实现缓冲,则应立即将这些字节写入其预期目的地。

      如果此流的预期目标是底层操作系统提供的抽象,例如文件,则刷新流保证仅将先前写入流的字节传递给操作系统进行写入;它不保证它们确实被写入物理设备,例如磁盘驱动器。

      指定者:
      flush 在接口 Flushable
      实现要求:
      OutputStreamflush 方法什么都不做。
      抛出:
      IOException - 如果发生 I/O 错误。
    • close

      public void close() throws IOException
      关闭此输出流并释放与此流关联的所有系统资源。 close 的一般契约是关闭输出流。关闭的流无法执行输出操作,也无法重新打开。
      指定者:
      close 在接口 AutoCloseable
      指定者:
      close 在接口 Closeable
      实现要求:
      OutputStreamclose 方法什么都不做。
      抛出:
      IOException - 如果发生 I/O 错误。