Module java.base
Package java.io

Class FilterOutputStream

java.lang.Object
java.io.OutputStream
java.io.FilterOutputStream
所有已实现的接口:
Closeable, Flushable, AutoCloseable
直接已知的子类:
BufferedOutputStream, CheckedOutputStream, CipherOutputStream, DataOutputStream, DeflaterOutputStream, DigestOutputStream, InflaterOutputStream, PrintStream

public class FilterOutputStream extends OutputStream
这个类是所有过滤输出流类的超类。这些流位于已经存在的输出流(即基本的数据接收端)之上,它使用这个已存在的输出流作为数据的基本接收端,但可能在传输数据的过程中对数据进行转换或提供额外的功能。

FilterOutputStream类本身只是简单地重写了所有OutputStream的方法,这些重写的方法将所有请求传递给底层的输出流。 FilterOutputStream的子类可能进一步重写其中的一些方法,并提供额外的方法和字段。

自从:
1.0
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    protected OutputStream
    out
    要被过滤的底层输出流。
  • Constructor Summary

    Constructors
    Constructor
    Description
    在指定的底层输出流之上创建一个输出流过滤器。
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    close()
    关闭这个输出流并释放与该流关联的任何系统资源。
    void
    flush()
    刷新这个输出流并强制将任何缓冲的输出字节写入流中。
    void
    write(byte[] b)
    向这个输出流写入b.length字节。
    void
    write(byte[] b, int off, int len)
    从指定的byte数组中的偏移量off开始写入len字节到这个输出流。
    void
    write(int b)
    向这个输出流写入指定的byte

    Methods declared in class java.io.OutputStream

    nullOutputStream

    Methods declared in class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • out

      protected OutputStream out
      要被过滤的底层输出流。
  • Constructor Details

    • FilterOutputStream

      public FilterOutputStream(OutputStream out)
      在指定的底层输出流之上创建一个输出流过滤器。
      参数:
      out - 要分配给字段this.out以供以后使用的底层输出流,如果要创建一个没有底层流的实例,则为null
  • Method Details

    • write

      public void write(int b) throws IOException
      向这个输出流写入指定的byte

      FilterOutputStreamwrite方法调用其底层输出流的write方法,即执行out.write(b)

      实现了OutputStream的抽象write方法。

      指定者:
      write 在类 OutputStream
      参数:
      b - 这个byte
      抛出:
      IOException - 如果发生I/O错误。
    • write

      public void write(byte[] b) throws IOException
      向这个输出流写入b.length字节。
      覆盖:
      write 在类 OutputStream
      实现要求:
      FilterOutputStreamwrite方法使用参数b0b.length调用其带有三个参数的write方法。
      实现注意:
      请注意,此方法不会使用单个参数b调用其底层输出流的单参数write方法。
      参数:
      b - 要写入的数据。
      抛出:
      IOException - 如果发生I/O错误。
    • write

      public void write(byte[] b, int off, int len) throws IOException
      从指定的byte数组中的偏移量off开始写入len字节到这个输出流。
      覆盖:
      write 在类 OutputStream
      实现要求:
      FilterOutputStreamwrite方法对每个要输出的byte调用带有一个参数的write方法。
      实现注意:
      请注意,此方法不会使用相同参数调用其底层输出流的write方法。 FilterOutputStream的子类应该提供这个方法的更有效的实现。
      参数:
      b - 数据。
      off - 数据的起始偏移量。
      len - 要写入的字节数。
      抛出:
      IOException - 如果发生I/O错误。
      IndexOutOfBoundsException - 如果off为负数,len为负数,或者len大于b.length - off
    • flush

      public void flush() throws IOException
      刷新这个输出流并强制将任何缓冲的输出字节写入流中。
      指定者:
      flush 在接口 Flushable
      覆盖:
      flush 在类 OutputStream
      实现要求:
      FilterOutputStreamflush方法调用其底层输出流的flush方法。
      抛出:
      IOException - 如果发生I/O错误。
    • close

      public void close() throws IOException
      关闭这个输出流并释放与该流关联的任何系统资源。
      指定者:
      close 在接口 AutoCloseable
      指定者:
      close 在接口 Closeable
      覆盖:
      close 在类 OutputStream
      实现要求:
      如果尚未关闭,FilterOutputStreamclose方法调用其flush方法,然后调用其底层输出流的close方法。
      抛出:
      IOException - 如果发生I/O错误。