java 编程思想 GZip(Zip) 格式压缩解压缩

Posted wait_for_y

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java 编程思想 GZip(Zip) 格式压缩解压缩相关的知识,希望对你有一定的参考价值。

 

GZIPOutputStream 只能支持 OutputStream对象,不能接受Writer 对象,会中文乱码
GZIPInputStream  支持 Reader字符流
 
 1 package io;
 2 
 3 import java.io.BufferedOutputStream;
 4 import java.io.BufferedReader;
 5 import java.io.FileInputStream;
 6 import java.io.FileNotFoundException;
 7 import java.io.FileOutputStream;
 8 import java.io.FileReader;
 9 import java.io.IOException;
10 import java.io.InputStreamReader;
11 import java.util.zip.GZIPInputStream;
12 import java.util.zip.GZIPOutputStream;
13 
14 public class GZipcompress {
15     
16     
17     public static void main(String[] args) throws IOException {
18         String fileName = "src\\\\io\\\\GZipcompress.java";
19         BufferedReader in = new BufferedReader(new FileReader(fileName)   );
20         
21         BufferedOutputStream out  = new BufferedOutputStream(
22                                         new GZIPOutputStream(
23                                                 new FileOutputStream("test.gz"))
24                                         );
25         
26         System.out.println("write file");
27         int c ;
28         
29         while ((c = in.read()) != -1) {
30             out.write(c);
31         }//GZIPOutputStream只支持字节对象,一个一个写(中文乱码)
32 
33         in.close();
34         out.close();
35         
36         //-------------------read--------------
37         System.out.println("读取文件 file ");
38         
39         BufferedReader in2 = new BufferedReader(
40                 new InputStreamReader(new GZIPInputStream(
41                                 new FileInputStream("test.gz"))));
42         // 支持字符对象
43         String s ;
44         while ( (s = in2.readLine())!= null ) {
45             System.out.println(s);
46         }
47         
48         
49         
50     }
51     
52     
53     
54     
55 
56 }

 结果 及 文件结构

 

以上是关于java 编程思想 GZip(Zip) 格式压缩解压缩的主要内容,如果未能解决你的问题,请参考以下文章

JAVA-ZIP和GZIP压缩实现

Java压缩文件以及解压文件

20-文件压缩打包-tar,zip,gzip

[译] 理解 zip 和 gzip 压缩格式背后的压缩算法

[扩展知识] 理解 zip 和 gzip 压缩格式背后的压缩算法

GZIP 与zip区别