GZipOutputStream及GzipInputStream的用法

Java代码
 
ByteArrayOutputStream arrayOutputStream =new ByteArrayOutputStream();  
GZIPOutputStream gop = new GZIPOutputStream(arrayOutputStream);  
byte[] buffer = new byte[1024];  
int len = 0;  
while ((len = inputStream.read(buffer)) != -1) {  
    gop.write(buffer, 0, len);  
}  
gop.finish(); //这个在写入arrayOutputStream时一定要有,否则不能完全写入  
gop.close; 


ByteArrayOutputStream arrayOutputStream =new ByteArrayOutputStream();
GZIPOutputStream gop = new GZIPOutputStream(arrayOutputStream);
byte[] buffer = new byte[1024];
int len = 0;
while ((len = inputStream.read(buffer)) != -1) {
gop.write(buffer, 0, len);
}
gop.finish(); //这个在写入arrayOutputStream时一定要有,否则不能完全写入
gop.close;

----------------------------------------
Java代码
Header encoding = method.getResponseHeader("Content-Encoding");  
    if (encoding != null) {  
        if (encoding.getValue().equals("gzip")) {  
            bytes = GZipUtil.unzip(bytes);  
        }  
    }  
 
 
public static byte[] unzip(InputStream in) throws IOException {  
        // Open the compressed stream  
        GZIPInputStream gin = new GZIPInputStream(in);  
 
        ByteArrayOutputStream out = new ByteArrayOutputStream();  
 
        // Transfer bytes from the compressed stream to the output stream  
        byte[] buf = new byte[size];  
        int len;  
        while ((len = gin.read(buf)) > 0) {  
            out.write(buf, 0, len);  
        }  
 
        // Close the file and stream  
        gin.close();  
        out.close();  
        return out.toByteArray();  
}

你可能感兴趣的:(ZipOutputStream)