java.util.zip

Class GZIPOutputStream

Implemented Interfaces:
AutoCloseable, Closeable, Flushable

public class GZIPOutputStream
extends DeflaterOutputStream

This filter stream is used to compress a stream into a "GZIP" stream. The "GZIP" format is described in RFC 1952.
Since:
JDK 1.1

Field Summary

protected CRC32
crc
CRC-32 value for uncompressed data

Fields inherited from class java.util.zip.DeflaterOutputStream

buf, def

Fields inherited from class java.io.FilterOutputStream

out

Constructor Summary

GZIPOutputStream(OutputStream out)
Creates a GZIPOutputStream with the default buffer size
GZIPOutputStream(OutputStream out, int size)
Creates a GZIPOutputStream with the specified buffer size

Method Summary

void
close()
Writes remaining compressed output data to the output stream and closes it.
void
finish()
Finishes the stream by calling finish() on the deflater.
void
write(byte[] buf, int off, int len)
Writes a len bytes from an array to the compressed stream.

Methods inherited from class java.util.zip.DeflaterOutputStream

close, deflate, finish, flush, write, write

Methods inherited from class java.io.FilterOutputStream

close, flush, write, write, write

Methods inherited from class java.io.OutputStream

close, flush, write, write, write

Methods inherited from class java.lang.Object

clone, equals, extends Object> getClass, finalize, hashCode, notify, notifyAll, toString, wait, wait, wait

Field Details

crc

protected CRC32 crc
CRC-32 value for uncompressed data

Constructor Details

GZIPOutputStream

public GZIPOutputStream(OutputStream out)
            throws IOException
Creates a GZIPOutputStream with the default buffer size
Parameters:
out - The stream to read data (to be compressed) from

GZIPOutputStream

public GZIPOutputStream(OutputStream out,
                        int size)
            throws IOException
Creates a GZIPOutputStream with the specified buffer size
Parameters:
out - The stream to read compressed data from
size - Size of the buffer to use

Method Details

close

public void close()
            throws IOException
Writes remaining compressed output data to the output stream and closes it.
Specified by:
close in interface Closeable
close in interface AutoCloseable
Overrides:
close in interface DeflaterOutputStream

finish

public void finish()
            throws IOException
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.
Overrides:
finish in interface DeflaterOutputStream

write

public void write(byte[] buf,
                  int off,
                  int len)
            throws IOException
Writes a len bytes from an array to the compressed stream.
Overrides:
write in interface DeflaterOutputStream
Parameters:
buf - the byte array.
off - the offset into the byte array where to start.
len - the number of bytes to write.

GZIPOutputStream.java - Create a file in gzip format Copyright (C) 1999, 2000, 2001 Free Software Foundation, Inc. This file is part of GNU Classpath. GNU Classpath is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. GNU Classpath is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with GNU Classpath; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. Linking this library statically or dynamically with other modules is making a combined work based on this library. Thus, the terms and conditions of the GNU General Public License cover the whole combination. As a special exception, the copyright holders of this library give you permission to link this library with independent modules to produce an executable, regardless of the license terms of these independent modules, and to copy and distribute the resulting executable under terms of your choice, provided that you also meet, for each linked independent module, the terms and conditions of the license of that module. An independent module is a module which is not derived from or based on this library. If you modify this library, you may extend this exception to your version of the library, but you are not obligated to do so. If you do not wish to do so, delete this exception statement from your version.