Index (Frames) | Index (No Frames) | Package | Package Tree | Tree
java.util.zip

Class DeflaterOutputStream

java.lang.Object
|
+--java.io.OutputStream
   |
   +--java.io.FilterOutputStream
      |
      +--java.util.zip.DeflaterOutputStream


public class DeflaterOutputStream

extends FilterOutputStream

This is a special FilterOutputStream deflating the bytes that are written through it. It uses the Deflater for deflating. 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.

Author:

Field Summary

byte[]buf

This buffer is used temporarily to retrieve the bytes from the deflater and write them to the underlying output stream.
java.util.zip.Deflaterdef

The deflater which is used to deflate the stream.

Constructor Summary

DeflaterOutputStream(java.io.OutputStream out)

Creates a new DeflaterOutputStream with a default Deflater and default buffer size.
DeflaterOutputStream(java.io.OutputStream out, java.util.zip.Deflater defl)

Creates a new DeflaterOutputStream with the given Deflater and default buffer size.
DeflaterOutputStream(java.io.OutputStream out, java.util.zip.Deflater defl, int bufsize)

Creates a new DeflaterOutputStream with the given Deflater and buffer size.

Method Summary

voidclose()

Calls finish () and closes the stream.
voiddeflate()

Deflates everything in the def's input buffers.
voidfinish()

Finishes the stream by calling finish() on the deflater.
voidflush()

Flushes the stream by calling flush() on the deflater and then on the underlying stream.
voidwrite(int bval)

Writes a single byte to the compressed output stream.
voidwrite(byte[] buf, int off, int len)

Writes a len bytes from an array to the compressed stream.

Field Details

buf

protected byte[] buf

This buffer is used temporarily to retrieve the bytes from the deflater and write them to the underlying output stream.


def

protected Deflater def

The deflater which is used to deflate the stream.


Constructor Details

DeflaterOutputStream

public DeflaterOutputStream(java.io.OutputStream out)

Creates a new DeflaterOutputStream with a default Deflater and default buffer size.

Parameters:


DeflaterOutputStream

public DeflaterOutputStream(java.io.OutputStream out, java.util.zip.Deflater defl)

Creates a new DeflaterOutputStream with the given Deflater and default buffer size.

Parameters:


DeflaterOutputStream

public DeflaterOutputStream(java.io.OutputStream out, java.util.zip.Deflater defl, int bufsize)

Creates a new DeflaterOutputStream with the given Deflater and buffer size.

Parameters:

Throws:


Method Details

close

public void close()

Calls finish () and closes the stream.


deflate

protected void deflate()

Deflates everything in the def's input buffers. This will call def.deflate() until all bytes from the input buffers are processed.


finish

public void finish()

Finishes the stream by calling finish() on the deflater. This was the only way to ensure that all bytes are flushed in Sun's JDK.


flush

public void flush()

Flushes the stream by calling flush() on the deflater and then on the underlying stream. This ensures that all bytes are flushed. This function doesn't work in Sun's JDK, but only in jazzlib.


write

public void write(byte[] buf, int off, int len)

Writes a len bytes from an array to the compressed stream.

Parameters:


write

public void write(int bval)

Writes a single byte to the compressed output stream.

Parameters: