Class GZIPOutputStream

java.lang.Object
java.io.OutputStream
java.io.FilterOutputStream
java.util.zip.DeflaterOutputStream
java.util.zip.GZIPOutputStream
All Implemented Interfaces:
Closeable,Flushable,AutoCloseable

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

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

Since:
1.1
  • Field Details

    • crc

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

    • GZIPOutputStream

      public GZIPOutputStream(OutputStream out, int size) throwsIOException
      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 - ifsize <= 0
    • GZIPOutputStream

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

      public GZIPOutputStream(OutputStream out) throwsIOException
      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) throwsIOException
      Creates a new output stream with a default buffer size and the specified flush mode.
      Parameters:
      out - the output stream
      syncFlush - iftrue invocation of the inheritedflush() method of this instance flushes the compressor with flush modeDeflater.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) throwsIOException
      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() throwsIOException
      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