java.lang.Object
java.io.OutputStream
java.io.FilterOutputStream
java.util.zip.DeflaterOutputStream
- All Implemented Interfaces:
- Closeable,- Flushable,- AutoCloseable
- Direct Known Subclasses:
- GZIPOutputStream,- ZipOutputStream
public class DeflaterOutputStream extends FilterOutputStream
This class implements an output stream filter for compressing data in
 the "deflate" compression format. It is also used as the basis for other
 types of compression filters, such as GZIPOutputStream.
- Since:
- 1.1
- See Also:
- Deflater
- 
Field Summary
- 
Constructor SummaryConstructors Constructor Description DeflaterOutputStream(OutputStream out)Creates a new output stream with a default compressor and buffer size.DeflaterOutputStream(OutputStream out, boolean syncFlush)Creates a new output stream with a default compressor, a default buffer size and the specified flush mode.DeflaterOutputStream(OutputStream out, Deflater def)Creates a new output stream with the specified compressor and a default buffer size.DeflaterOutputStream(OutputStream out, Deflater def, boolean syncFlush)Creates a new output stream with the specified compressor, flush mode and a default buffer size.DeflaterOutputStream(OutputStream out, Deflater def, int size)Creates a new output stream with the specified compressor and buffer size.DeflaterOutputStream(OutputStream out, Deflater def, int size, boolean syncFlush)Creates a new output stream with the specified compressor, buffer size and flush mode.
- 
Method SummaryModifier and Type Method Description voidclose()Writes remaining compressed data to the output stream and closes the underlying stream.protected voiddeflate()Writes next block of compressed data to the output stream.voidfinish()Finishes writing compressed data to the output stream without closing the underlying stream.voidflush()Flushes the compressed output stream.voidwrite(byte[] b, int off, int len)Writes an array of bytes to the compressed output stream.voidwrite(int b)Writes a byte to the compressed output stream.
- 
Field Details
- 
Constructor Details- 
DeflaterOutputStreamCreates a new output stream with the specified compressor, buffer size and flush mode.- Parameters:
- out- the output stream
- def- the compressor ("deflater")
- size- the output buffer size
- syncFlush- if- truethe- flush()method of this instance flushes the compressor with flush mode- Deflater.SYNC_FLUSHbefore flushing the output stream, otherwise only flushes the output stream
- Throws:
- IllegalArgumentException- if- size <= 0
- Since:
- 1.7
 
- 
DeflaterOutputStreamCreates a new output stream with the specified compressor and buffer size.The new output stream instance is created as if by invoking the 4-argument constructor DeflaterOutputStream(out, def, size, false). - Parameters:
- out- the output stream
- def- the compressor ("deflater")
- size- the output buffer size
- Throws:
- IllegalArgumentException- if- size <= 0
 
- 
DeflaterOutputStreamCreates a new output stream with the specified compressor, flush mode and a default buffer size.- Parameters:
- out- the output stream
- def- the compressor ("deflater")
- syncFlush- if- truethe- flush()method of this instance flushes the compressor with flush mode- Deflater.SYNC_FLUSHbefore flushing the output stream, otherwise only flushes the output stream
- Since:
- 1.7
 
- 
DeflaterOutputStreamCreates a new output stream with the specified compressor and a default buffer size.The new output stream instance is created as if by invoking the 3-argument constructor DeflaterOutputStream(out, def, false). - Parameters:
- out- the output stream
- def- the compressor ("deflater")
 
- 
DeflaterOutputStreamCreates a new output stream with a default compressor, a default buffer size and the specified flush mode.- Parameters:
- out- the output stream
- syncFlush- if- truethe- flush()method of this instance flushes the compressor with flush mode- Deflater.SYNC_FLUSHbefore flushing the output stream, otherwise only flushes the output stream
- Since:
- 1.7
 
- 
DeflaterOutputStreamCreates a new output stream with a default compressor and buffer size.The new output stream instance is created as if by invoking the 2-argument constructor DeflaterOutputStream(out, false). - Parameters:
- out- the output stream
 
 
- 
- 
Method Details- 
writeWrites a byte to the compressed output stream. This method will block until the byte can be written.- Overrides:
- writein class- FilterOutputStream
- Parameters:
- b- the byte to be written
- Throws:
- IOException- if an I/O error has occurred
 
- 
writeWrites an array of bytes to the compressed output stream. This method will block until all the bytes are written.- Overrides:
- writein class- FilterOutputStream
- Parameters:
- b- 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)
 
- 
finishFinishes 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.- Throws:
- IOException- if an I/O error has occurred
 
- 
closeWrites remaining compressed data to the output stream and closes the underlying stream.- Specified by:
- closein interface- AutoCloseable
- Specified by:
- closein interface- Closeable
- Overrides:
- closein class- FilterOutputStream
- Throws:
- IOException- if an I/O error has occurred
- See Also:
- FilterOutputStream.flush(),- FilterOutputStream.out
 
- 
deflateWrites next block of compressed data to the output stream.- Throws:
- IOException- if an I/O error has occurred
 
- 
flushFlushes the compressed output stream. IfsyncFlushistruewhen this compressed output stream is constructed, this method first flushes the underlyingcompressorwith the flush modeDeflater.SYNC_FLUSHto force all pending data to be flushed out to the output stream and then flushes the output stream. Otherwise this method only flushes the output stream without flushing thecompressor.- Specified by:
- flushin interface- Flushable
- Overrides:
- flushin class- FilterOutputStream
- Throws:
- IOException- if an I/O error has occurred
- Since:
- 1.7
- See Also:
- FilterOutputStream.out
 
 
-