java.util.zip
Class GZIPOutputStream

java.lang.Object
  extended byjava.io.OutputStream
      extended byjava.io.FilterOutputStream
          extended byjava.util.zip.DeflaterOutputStream
              extended byjava.util.zip.GZIPOutputStream

public class GZIPOutputStream
extends DeflaterOutputStream

This class implements a stream filter for writing compressed data in the GZIP file format.

Author:
David Connelly

Field Summary
protected  CRC32 crc
          CRC-32 of uncompressed data.
private static int GZIP_MAGIC
           
private static byte[] header
           
private static int TRAILER_SIZE
           
 
Fields inherited from class java.util.zip.DeflaterOutputStream
buf, def, usesDefaultDeflater
 
Fields inherited from class java.io.FilterOutputStream
out
 
Constructor Summary
GZIPOutputStream(OutputStream out)
          Creates a new output stream with a default buffer size.
GZIPOutputStream(OutputStream out, int size)
          Creates a new output stream with the specified buffer size.
 
Method Summary
 void finish()
          Finishes writing compressed data to the output stream without closing the underlying stream.
 void write(byte[] buf, int off, int len)
          Writes array of bytes to the compressed output stream.
private  void writeHeader()
           
private  void writeInt(int i, byte[] buf, int offset)
           
private  void writeShort(int s, byte[] buf, int offset)
           
private  void writeTrailer(byte[] buf, int offset)
           
 
Methods inherited from class java.util.zip.DeflaterOutputStream
close, deflate, write
 
Methods inherited from class java.io.FilterOutputStream
flush, write
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

crc

protected CRC32 crc
CRC-32 of uncompressed data.


GZIP_MAGIC

private static final int GZIP_MAGIC
See Also:
Constant Field Values

TRAILER_SIZE

private static final int TRAILER_SIZE
See Also:
Constant Field Values

header

private static final byte[] header
Constructor Detail

GZIPOutputStream

public GZIPOutputStream(OutputStream out,
                        int size)
                 throws IOException
Creates a new output stream with the specified buffer size.

Parameters:
out - the output stream
size - the output buffer size
Throws:
IOException - If an I/O error has occurred.
IllegalArgumentException - if size is <= 0

GZIPOutputStream

public GZIPOutputStream(OutputStream out)
                 throws IOException
Creates a new output stream with a default buffer size.

Parameters:
out - the output stream
Throws:
IOException - If an I/O error has occurred.
Method Detail

write

public void write(byte[] buf,
                  int off,
                  int len)
           throws IOException
Writes array of bytes to the compressed output stream. This method will block until all the bytes are written.

Overrides:
write in class DeflaterOutputStream
Parameters:
buf - 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.

finish

public void finish()
            throws IOException
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.

Overrides:
finish in class DeflaterOutputStream
Throws:
IOException - if an I/O error has occurred

writeHeader

private void writeHeader()
                  throws IOException
Throws:
IOException

writeTrailer

private void writeTrailer(byte[] buf,
                          int offset)
                   throws IOException
Throws:
IOException

writeInt

private void writeInt(int i,
                      byte[] buf,
                      int offset)
               throws IOException
Throws:
IOException

writeShort

private void writeShort(int s,
                        byte[] buf,
                        int offset)
                 throws IOException
Throws:
IOException