Package okio

Class DeflaterSink

  • All Implemented Interfaces:
    java.io.Closeable, java.io.Flushable, java.lang.AutoCloseable, Sink

    public final class DeflaterSink
    extends java.lang.Object
    implements Sink
    A sink that uses DEFLATE to compress data written to another source.

    Sync flush

    Aggressive flushing of this stream may result in reduced compression. Each call to flush() immediately compresses all currently-buffered data; this early compression may be less effective than compression performed without flushing.

    This is equivalent to using Deflater with the sync flush option. This class does not offer any partial flush mechanism. For best performance, only call flush() when application behavior requires it.

    • Constructor Summary

      Constructors 
      Constructor Description
      DeflaterSink​(Sink sink, java.util.zip.Deflater deflater)  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void close()
      Pushes all buffered bytes to their final destination and releases the resources held by this sink.
      void flush()
      Pushes all buffered bytes to their final destination.
      Timeout timeout()
      Returns the timeout for this sink.
      java.lang.String toString()  
      void write​(Buffer source, long byteCount)
      Removes byteCount bytes from source and appends them to this.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • Constructor Detail

      • DeflaterSink

        public DeflaterSink​(Sink sink,
                            java.util.zip.Deflater deflater)
    • Method Detail

      • write

        public void write​(Buffer source,
                          long byteCount)
                   throws java.io.IOException
        Description copied from interface: Sink
        Removes byteCount bytes from source and appends them to this.
        Specified by:
        write in interface Sink
        Throws:
        java.io.IOException
      • flush

        public void flush()
                   throws java.io.IOException
        Description copied from interface: Sink
        Pushes all buffered bytes to their final destination.
        Specified by:
        flush in interface java.io.Flushable
        Specified by:
        flush in interface Sink
        Throws:
        java.io.IOException
      • close

        public void close()
                   throws java.io.IOException
        Description copied from interface: Sink
        Pushes all buffered bytes to their final destination and releases the resources held by this sink. It is an error to write a closed sink. It is safe to close a sink more than once.
        Specified by:
        close in interface java.lang.AutoCloseable
        Specified by:
        close in interface java.io.Closeable
        Specified by:
        close in interface Sink
        Throws:
        java.io.IOException
      • timeout

        public Timeout timeout()
        Description copied from interface: Sink
        Returns the timeout for this sink.
        Specified by:
        timeout in interface Sink
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object