将输入流gzip压缩到压缩后的输出流。
/** n o w j a v a . c o m 提供 **/ //package com.nowjava; import java.io.Closeable; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.util.zip.GZIPOutputStream; public class Main { /** * gzip an input stream to a gzipped output stream. You need to close streams manually. * @param is input stream * @param gzippedOutputStream gzipped output stream * @throws IOException */ public static void gzip(InputStream is, GZIPOutputStream gzippedOutputStream) throws IOException {// 来自 时代Java公众号 byte[] buffer = new byte[1024]; int len = -1; while ((len = is.read(buffer)) != -1) { gzippedOutputStream.write(buffer, 0, len); } } /** * gzip an input stream to a gzipped file. You need to close streams manually. * @param is input stream * @param gzippedFile gzipped file * @throws IOException */ public static void gzip(InputStream is, File gzippedFile) throws IOException { GZIPOutputStream gos = null; try { gos = new GZIPOutputStream(new FileOutputStream(gzippedFile)); byte[] buffer = new byte[1024]; int len = -1; while ((len = is.read(buffer)) != -1) { gos.write(buffer, 0, len); } } finally { close(gos); } } /** * gzip a file to a gzipped file * @param srcFile file to be gzipped * @param gzippedFile target gzipped file * @throws IOException */ public static void gzip(File srcFile, File gzippedFile) throws IOException { GZIPOutputStream gos = null; FileInputStream fis = null; try { gos = new GZIPOutputStream(new FileOutputStream(gzippedFile)); fis = new FileInputStream(srcFile); byte[] buffer = new byte[1024]; int len = -1; while ((len = fi