有没有办法在java中加载gz文件?

时间:2017-07-18 17:40:50

标签: java

我绘制了存储为gz文件的历史文件 有没有办法在java中加载gz文件 到目前为止,我从谷歌获得的nly结果是运行外部程序来解压缩它,我宁愿在java中完成它。

1 个答案:

答案 0 :(得分: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();
}

}