Package sk.iway.iwcm.system.zip
Class DeflaterOutputStream
java.lang.Object
java.io.OutputStream
java.io.FilterOutputStream
sk.iway.iwcm.system.zip.DeflaterOutputStream
- All Implemented Interfaces:
Closeable
,Flushable
,AutoCloseable
- Direct Known Subclasses:
ZipOutputStream
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.
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected byte[]
Output buffer for writing compressed data.protected Deflater
Compressor for this stream.Fields inherited from class java.io.FilterOutputStream
out
-
Constructor Summary
ConstructorsConstructorDescriptionCreates a new output stream with a defaul compressor and buffer size.DeflaterOutputStream
(OutputStream out, Deflater def) Creates a new output stream with the specified compressor and a default buffer size.DeflaterOutputStream
(OutputStream out, Deflater def, int size) Creates a new output stream with the specified compressor and buffer size. -
Method Summary
Modifier and TypeMethodDescriptionvoid
close()
Writes remaining compressed data to the output stream and closes the underlying stream.protected void
deflate()
Writes next block of compressed data to the output stream.void
finish()
Finishes writing compressed data to the output stream without closing the underlying stream.void
write
(byte[] b, int off, int len) Writes an array of bytes to the compressed output stream.void
write
(int b) Writes a byte to the compressed output stream.Methods inherited from class java.io.FilterOutputStream
flush, write
Methods inherited from class java.io.OutputStream
nullOutputStream
-
Field Details
-
def
Compressor for this stream. -
buf
protected byte[] bufOutput buffer for writing compressed data.
-
-
Constructor Details
-
DeflaterOutputStream
Creates a new output stream with the specified compressor and buffer size.- Parameters:
out
- the output streamdef
- the compressor ("deflater")size
- the output buffer size- Throws:
IllegalArgumentException
- if size is <= 0
-
DeflaterOutputStream
Creates a new output stream with the specified compressor and a default buffer size.- Parameters:
out
- the output streamdef
- the compressor ("deflater")
-
DeflaterOutputStream
Creates a new output stream with a defaul compressor and buffer size.- Parameters:
out
- the output stream
-
-
Method Details
-
write
Writes a byte to the compressed output stream. This method will block until the byte can be written.- Overrides:
write
in classFilterOutputStream
- Parameters:
b
- the byte to be written- Throws:
IOException
- if an I/O error has occurred
-
write
Writes an array of bytes to the compressed output stream. This method will block until all the bytes are written.- Overrides:
write
in classFilterOutputStream
- Parameters:
b
- the data to be writtenoff
- the start offset of the datalen
- the length of the data- Throws:
IOException
- if an I/O error has occurred
-
finish
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.- Throws:
IOException
- if an I/O error has occurred
-
close
Writes remaining compressed data to the output stream and closes the underlying stream.- Specified by:
close
in interfaceAutoCloseable
- Specified by:
close
in interfaceCloseable
- Overrides:
close
in classFilterOutputStream
- Throws:
IOException
- if an I/O error has occurred
-
deflate
Writes next block of compressed data to the output stream.- Throws:
IOException
- if an I/O error has occurred
-