首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 相關知識

Java GZIP 單一資料流壓縮實作

     編輯:Java 相關知識

GZIP 介面簡單,適合單一資料流壓縮(非多檔案)。核心在於以 GZIPOutputStream 包裝輸出流、GZIPInputStream 包裝輸入流。

完整範例

// 壓縮
BufferedReader in = new BufferedReader(new FileReader(args[0]));
BufferedOutputStream out = new BufferedOutputStream(
    new GZIPOutputStream(new FileOutputStream("test.gz")));
int c;
while ((c = in.read()) != -1) out.write(c);
in.close(); out.close();

// 解壓縮
BufferedReader in2 = new BufferedReader(new InputStreamReader(
    new GZIPInputStream(new FileInputStream("test.gz"))));
String s;
while ((s = in2.readLine()) != null) System.out.println(s);

新舊 IO 混合使用

範例展示典型情況:以 Reader 讀取文字,但 GZIPOutputStream 建構子只接受 OutputStream,故需混合使用舊式位元組流與新式字元流。可透過 InputStreamReader/OutputStreamWriter 轉換。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved