Class GzipCompressorOutputStream
- java.lang.Object
-
- java.io.OutputStream
-
- org.apache.commons.compress.compressors.CompressorOutputStream
-
- org.apache.commons.compress.compressors.gzip.GzipCompressorOutputStream
-
- All Implemented Interfaces:
java.io.Closeable,java.io.Flushable,java.lang.AutoCloseable
public class GzipCompressorOutputStream extends CompressorOutputStream
Compressed output stream using the gzip format. This implementation improves over the standardGZIPOutputStreamclass by allowing the configuration of the compression level and the header metadata (file name, comment, modification time, operating system and extra flags).- See Also:
- GZIP File Format Specification
-
-
Field Summary
Fields Modifier and Type Field Description private booleanclosedIndicates if the stream has been closedprivate java.util.zip.CRC32crcThe checksum of the uncompressed dataprivate byte[]deflateBufferThe buffer receiving the compressed data from the deflaterprivate java.util.zip.DeflaterdeflaterDeflater used to compress the dataprivate static intFCOMMENTHeader flag indicating a comment follows the headerprivate static intFNAMEHeader flag indicating a file name follows the headerprivate java.io.OutputStreamoutThe underlying stream
-
Constructor Summary
Constructors Constructor Description GzipCompressorOutputStream(java.io.OutputStream out)Creates a gzip compressed output stream with the default parameters.GzipCompressorOutputStream(java.io.OutputStream out, GzipParameters parameters)Creates a gzip compressed output stream with the specified parameters.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidclose()private voiddeflate()voidfinish()Finishes writing compressed data to the underlying stream without closing it.voidflush()voidwrite(byte[] buffer)voidwrite(byte[] buffer, int offset, int length)voidwrite(int b)private voidwriteHeader(GzipParameters parameters)private voidwriteTrailer()
-
-
-
Field Detail
-
FNAME
private static final int FNAME
Header flag indicating a file name follows the header- See Also:
- Constant Field Values
-
FCOMMENT
private static final int FCOMMENT
Header flag indicating a comment follows the header- See Also:
- Constant Field Values
-
out
private final java.io.OutputStream out
The underlying stream
-
deflater
private final java.util.zip.Deflater deflater
Deflater used to compress the data
-
deflateBuffer
private final byte[] deflateBuffer
The buffer receiving the compressed data from the deflater
-
closed
private boolean closed
Indicates if the stream has been closed
-
crc
private final java.util.zip.CRC32 crc
The checksum of the uncompressed data
-
-
Constructor Detail
-
GzipCompressorOutputStream
public GzipCompressorOutputStream(java.io.OutputStream out) throws java.io.IOExceptionCreates a gzip compressed output stream with the default parameters.- Parameters:
out- the stream to compress to- Throws:
java.io.IOException- if writing fails
-
GzipCompressorOutputStream
public GzipCompressorOutputStream(java.io.OutputStream out, GzipParameters parameters) throws java.io.IOExceptionCreates a gzip compressed output stream with the specified parameters.- Parameters:
out- the stream to compress toparameters- the parameters to use- Throws:
java.io.IOException- if writing fails- Since:
- 1.7
-
-
Method Detail
-
writeHeader
private void writeHeader(GzipParameters parameters) throws java.io.IOException
- Throws:
java.io.IOException
-
writeTrailer
private void writeTrailer() throws java.io.IOException- Throws:
java.io.IOException
-
write
public void write(int b) throws java.io.IOException- Specified by:
writein classjava.io.OutputStream- Throws:
java.io.IOException
-
write
public void write(byte[] buffer) throws java.io.IOException- Overrides:
writein classjava.io.OutputStream- Throws:
java.io.IOException- Since:
- 1.1
-
write
public void write(byte[] buffer, int offset, int length) throws java.io.IOException- Overrides:
writein classjava.io.OutputStream- Throws:
java.io.IOException- Since:
- 1.1
-
deflate
private void deflate() throws java.io.IOException- Throws:
java.io.IOException
-
finish
public void finish() throws java.io.IOExceptionFinishes writing compressed data to the underlying stream without closing it.- Throws:
java.io.IOException- on error- Since:
- 1.7
-
flush
public void flush() throws java.io.IOException- Specified by:
flushin interfacejava.io.Flushable- Overrides:
flushin classjava.io.OutputStream- Throws:
java.io.IOException- Since:
- 1.7
-
close
public void close() throws java.io.IOException- Specified by:
closein interfacejava.lang.AutoCloseable- Specified by:
closein interfacejava.io.Closeable- Overrides:
closein classjava.io.OutputStream- Throws:
java.io.IOException
-
-