Class GZIPOutputStream

All Implemented Interfaces:
Closeable, Flushable, AutoCloseable

public class GZIPOutputStream extends DeflaterOutputStream
This class implements a stream filter for writing compressed data in the GZIP file format.

Unless otherwise noted, passing a null argument to a constructor or method in this class will cause a NullPointerException to be thrown.

Since:
1.1
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    protected CRC32
    CRC-32 of uncompressed data.

    Fields declared in class DeflaterOutputStream

    buf, def
    Modifier and Type
    Field
    Description
    protected byte[]
    Output buffer for writing compressed data.
    protected Deflater
    Compressor for this stream.

    Fields declared in class FilterOutputStream

    out
    Modifier and Type
    Field
    Description
    protected OutputStream
    The underlying output stream to be filtered.
  • Constructor Summary

    Constructors
    Constructor
    Description
    Creates a new output stream with a default buffer size.
    GZIPOutputStream(OutputStream out, boolean syncFlush)
    Creates a new output stream with a default buffer size and the specified flush mode.
    Creates a new output stream with the specified buffer size.
    GZIPOutputStream(OutputStream out, int size, boolean syncFlush)
    Creates a new output stream with the specified buffer size and flush mode.
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    Finishes writing compressed data to the output stream without closing the underlying stream.
    void
    write(byte[] buf, int off, int len)
    Writes array of bytes to the compressed output stream.

    Methods declared in class DeflaterOutputStream

    close, deflate, flush, write
    Modifier and Type
    Method
    Description
    void
    Writes remaining compressed data to the output stream and closes the underlying stream.
    protected void
    Writes next block of compressed data to the output stream.
    void
    Flushes the compressed output stream.
    void
    write(int b)
    Writes a byte to the compressed output stream.

    Methods declared in class FilterOutputStream

    write
    Modifier and Type
    Method
    Description
    void
    write(byte[] b)
    Writes b.length bytes to this output stream.

    Methods declared in class OutputStream

    nullOutputStream
    Modifier and Type
    Method
    Description
    Returns a new OutputStream which discards all bytes.

    Methods declared in class Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    Modifier and Type
    Method
    Description
    protected Object
    Creates and returns a copy of this object.
    boolean
    Indicates whether some other object is "equal to" this one.
    protected void
    Deprecated, for removal: This API element is subject to removal in a future version.
    Finalization is deprecated and subject to removal in a future release.
    final Class<?>
    Returns the runtime class of this Object.
    int
    Returns a hash code value for this object.
    final void
    Wakes up a single thread that is waiting on this object's monitor.
    final void
    Wakes up all threads that are waiting on this object's monitor.
    Returns a string representation of the object.
    final void
    Causes the current thread to wait until it is awakened, typically by being notified or interrupted.
    final void
    wait(long timeoutMillis)
    Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.
    final void
    wait(long timeoutMillis, int nanos)
    Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.
  • Field Details

    • crc

      protected CRC32 crc
      CRC-32 of uncompressed data.
  • Constructor Details

    • GZIPOutputStream

      public GZIPOutputStream(OutputStream out, int size) throws IOException
      Creates a new output stream with the specified buffer size.

      The new output stream instance is created as if by invoking the 3-argument constructor GZIPOutputStream(out, size, false).

      Parameters:
      out - the output stream
      size - the output buffer size
      Throws:
      IOException - If an I/O error has occurred.
      IllegalArgumentException - if size <= 0
    • GZIPOutputStream

      public GZIPOutputStream(OutputStream out, int size, boolean syncFlush) throws IOException
      Creates a new output stream with the specified buffer size and flush mode.
      Parameters:
      out - the output stream
      size - the output buffer size
      syncFlush - if true invocation of the inherited flush() method of this instance flushes the compressor with flush mode Deflater.SYNC_FLUSH before flushing the output stream, otherwise only flushes the output stream
      Throws:
      IOException - If an I/O error has occurred.
      IllegalArgumentException - if size <= 0
      Since:
      1.7
    • GZIPOutputStream

      public GZIPOutputStream(OutputStream out) throws IOException
      Creates a new output stream with a default buffer size.

      The new output stream instance is created as if by invoking the 2-argument constructor GZIPOutputStream(out, false).

      Parameters:
      out - the output stream
      Throws:
      IOException - If an I/O error has occurred.
    • GZIPOutputStream

      public GZIPOutputStream(OutputStream out, boolean syncFlush) throws IOException
      Creates a new output stream with a default buffer size and the specified flush mode.
      Parameters:
      out - the output stream
      syncFlush - if true invocation of the inherited flush() method of this instance flushes the compressor with flush mode Deflater.SYNC_FLUSH before flushing the output stream, otherwise only flushes the output stream
      Throws:
      IOException - If an I/O error has occurred.
      Since:
      1.7
  • Method Details

    • write

      public void write(byte[] buf, int off, int len) throws IOException
      Writes array of bytes to the compressed output stream. This method will block until all the bytes are written.
      Overrides:
      write in class DeflaterOutputStream
      Parameters:
      buf - the data to be written
      off - the start offset of the data
      len - the length of the data
      Throws:
      IOException - If an I/O error has occurred.
      See Also:
    • finish

      public void finish() throws IOException
      Finishes writing compressed data to the output stream without closing the underlying stream. Use this method when applying multiple filters in succession to the same output stream.
      Overrides:
      finish in class DeflaterOutputStream
      Throws:
      IOException - if an I/O error has occurred