Java GZIPOutputStream教程

时间:2020-01-09 10:36:33  来源:igfitidea点击:

JavaGZIPOutputStream类(java.util.zip.GZIPOutStream)可用于GZIP压缩数据并将其写入OutputStream。

创建一个GZIPOutputStream

必须先创建一个GZIPOutputStream实例,然后才能使用GZIPOutputStream。这是创建GZIPOutputStream的示例:

FileOutputStream outputStream     = new FileOutputStream("myfile.zip");
GZIPOutputStream gzipOutputStream = new GZIPOutputStream(outputStream);

这个例子创建了一个" GZIPOutputStream",GZIP将压缩我们写入的所有数据,并将压缩后的数据写入底层的" OutputStream"(" FileOutputStream")。

将数据写入GZIPOutputStream

我们可以将数据写入Java" GZIPOutputStream",就像将数据写入其他" OutputStream"一样。这是将数据写入GZIPOutputStream的示例:

byte[] data = ... ; // get data from somewhere.

gzipOutputStream.write(data);

完成将数据写入GZIPOutputStream后,我们必须将其关闭。通过调用GZIPOutputStreamclose()方法来关闭它。这是一个如何完成此操作的示例:

gzipOutputStream.close();

我们也可以使用try-with-resources构造关闭GZIPOutputStream,如下所示:

try(
    FileOutputStream outputStream     = new FileOutputStream("myfile.zip");
    GZIPOutputStream gzipOutputStream = new GZIPOutputStream(outputStream)
    ) {
        byte[] data = ... ; // get data from somewhere.
        gzipOutputStream.write(data);
}

当try-with-resources块退出时,GZIPOutputStream和FileOutputStream将关闭。