2017-07-18 84 views
-3

我圖表歷史文件存儲爲gz文件。
有沒有一種方法,我可以在java中加載gz文件 到目前爲止,我從google獲得的最終結果是運行外部程序來解壓縮它,我寧願在java中完成它。有沒有辦法在java中加載gz文件?

+0

你嘗試搜索「Java的壓縮程序」? – VGR

+0

你是什麼意思**加載java中的gz文件**?這對你沒有幫助 - > https://stackoverflow.com/questions/1080381/gzipinputstream-reading-line-by-line –

回答

0

你可以試試GZIPInputStream類。 https://docs.oracle.com/javase/7/docs/api/java/util/zip/GZIPInputStream.html

這個類有兩個關閉流和讀取數據的主要方法。

void close() 關閉此輸入流並釋放與該流關聯的所有系統資源。

int read(byte [] buf,int off,int len) 將未壓縮的數據讀入字節數組。

這個人問Extract .gz files in java上的類似問題,所以你可以嘗試使用它作爲示例。

這是樣板:

public static void gunzipIt(String name){ 

byte[] buffer = new byte[1024]; 

try{ 

    GZIPInputStream gzis = new GZIPInputStream(new FileInputStream("/var/www/html/grepobot/API/"+ name + ".txt.gz")); 
    FileOutputStream out = new FileOutputStream("/var/www/html/grepobot/API/"+ name + ".txt"); 

    int len; 
    while ((len = gzis.read(buffer)) > 0) { 
     out.write(buffer, 0, len); 
    } 

    gzis.close(); 
    out.close(); 

    System.out.println("Extracted " + name); 

} catch(IOException ex){ 
    ex.printStackTrace(); 
} 

}

+0

你能添加一個你提供的鏈接的簡短摘要嗎?所以歡迎鏈接,但它們傾向於腐爛。 – litelite

+0

已添加。感謝您的建議。 –

相關問題