java 編程思想 GZip(Zip) 格式壓縮解壓縮
阿新 • • 發佈:2018-06-08
分享 ron IV class println fileread pub TE new
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 importjava.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) 格式壓縮解壓縮