Java GZIPOutputStream Tutorial
Jakob Jenkov |
The Java GZIPOutputStream
class (java.util.zip.GZIPOutStream
) can be used to
GZIP compress data and write it to an OutputStream
.
Creating a GZIPOutputStream
Before you can use a GZIPOutputStream
you must create a GZIPOutputStream
instance. Here is an example of creating a GZIPOutputStream
:
FileOutputStream outputStream = new FileOutputStream("myfile.zip"); GZIPOutputStream gzipOutputStream = new GZIPOutputStream(outputStream);
This example creates a GZIPOutputStream
that GZIP compresses all data you write to it,
and write the compressed data to the underlying OutputStream
(a FileOutputStream
).
Writing Data to a GZIPOutputStream
You can write data to a Java GZIPOutputStream
just like you write data to any other
OutputStream
. Here is an example of writing data to a GZIPOutputStream
:
byte[] data = ... ; // get data from somewhere. gzipOutputStream.write(data);
When you are done writing data to the GZIPOutputStream
you have to close it.
You close a GZIPOutputStream
by calling its close()
method. Here is an example
of how that is done:
gzipOutputStream.close();
You can also close a GZIPOutputStream
using the try-with-resources construct like this:
try( FileOutputStream outputStream = new FileOutputStream("myfile.zip"); GZIPOutputStream gzipOutputStream = new GZIPOutputStream(outputStream) ) { byte[] data = ... ; // get data from somewhere. gzipOutputStream.write(data); }
When the try-with-resources block exits, the GZIPOutputStream
and the FileOutputStream
will be closed.
Tweet | |
Jakob Jenkov |