public class DeflaterOutputStream extends FilterOutputStream
This class works exactly the same as java.util.zip.DeflaterOutputStream, however the java.util.zip package is an optional package for the Eve VM. However this version of DeflaterOutputStream and Deflater will always exist in any Eve VM.
A special thing to be noted is that flush() doesn't flush everything in Sun's JDK, but it does so in jazzlib. This is because Sun's Deflater doesn't have a way to flush() everything, without finishing the stream.
Modifier and Type | Field and Description |
---|---|
protected byte[] |
buf
This buffer is used temporarily to retrieve the bytes from the
deflater and write them to the underlying output stream.
|
protected Deflater |
def
The deflater which is used to deflate the stream.
|
out
Constructor and Description |
---|
DeflaterOutputStream(OutputStream out)
Creates a new DeflaterOutputStream with a default Deflater and
default buffer size.
|
DeflaterOutputStream(OutputStream out,
Deflater defl)
Creates a new DeflaterOutputStream with the given Deflater and
default buffer size.
|
DeflaterOutputStream(OutputStream out,
Deflater defl,
int bufsize)
Creates a new DeflaterOutputStream with the given Deflater and
buffer size.
|
Modifier and Type | Method and Description |
---|---|
void |
close()
Calls finish () and closes the stream.
|
protected void |
deflate()
Deflates everything in the def's input buffers.
|
void |
finish()
Finishes the stream by calling finish() on the deflater.
|
void |
flush()
Flushes the stream by calling flush() on the deflater and then
on the underlying stream.
|
void |
write(byte[] buf,
int off,
int len)
Writes a len bytes from an array to the compressed stream.
|
void |
write(int bval)
Writes a single byte to the compressed output stream.
|
write
finalize
protected byte[] buf
protected Deflater def
public DeflaterOutputStream(OutputStream out)
out
- the output stream where deflated output should be written.public DeflaterOutputStream(OutputStream out, Deflater defl)
out
- the output stream where deflated output should be written.defl
- the underlying deflater.public DeflaterOutputStream(OutputStream out, Deflater defl, int bufsize)
out
- the output stream where deflated output should be written.defl
- the underlying deflater.bufsize
- the buffer size.IllegalArgumentException
- if bufsize isn't positive.protected void deflate() throws IOException
def.deflate()
until all bytes from the input buffers
are processed.IOException
public void flush() throws IOException
flush
in class FilterOutputStream
IOException
- If an error occurspublic void finish() throws IOException
IOException
public void close() throws IOException
close
in class FilterOutputStream
IOException
- If an error occurspublic void write(int bval) throws IOException
write
in class FilterOutputStream
bval
- the byte value.IOException
- If an error occurspublic void write(byte[] buf, int off, int len) throws IOException
write
in class FilterOutputStream
buf
- the byte array.off
- the offset into the byte array where to start.len
- the number of bytes to write.IOException
- If an error occurs