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.

Since:
1.1

Field Summary

Fields
Modifier and Type Field Description
protected CRC32 crc

CRC-32 of uncompressed data.

Fields declared in class java.util.zip.DeflaterOutputStream

buf, def

Fields declared in class java.io.FilterOutputStream

out

Constructor Summary

Constructors
Constructor Description
GZIPOutputStream​(OutputStream out)

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.

GZIPOutputStream​(OutputStream out, int size)

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

All Methods Instance Methods Concrete Methods
Modifier and Type Method Description
void finish()

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 java.util.zip.DeflaterOutputStream

close, deflate, flush, write

Methods declared in class java.io.FilterOutputStream

write

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 Detail

crc

protected CRC32 crc

CRC-32 of uncompressed data.

Constructor Detail

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 Detail

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:
FilterOutputStream.write(int)

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