【问题标题】:is there a way to load a gz file in java? [duplicate]有没有办法在java中加载gz文件? [复制]
【发布时间】:2017-12-23 17:28:30
【问题描述】:

我将图表历史文件存储为 gz 文件。
有没有办法可以在java中加载gz文件 到目前为止,我从谷歌得到的唯一结果是运行外部程序来解压它,我宁愿在 java 中完成。

【问题讨论】:

标签: java


【解决方案1】:

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

这个类主要有两个方法,用于关闭流和读取数据。

无效关闭() 关闭此输入流并释放与该流关联的所有系统资源。

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();
}

}

【讨论】:

  • 您能否添加您提供的链接的简短摘要。 SO上的链接是受欢迎的,但它们往往会腐烂。
  • 已添加。谢谢你的建议。
猜你喜欢
  • 1970-01-01
  • 2010-10-18
  • 2022-12-05
  • 1970-01-01
  • 2021-09-01
  • 2013-08-26
  • 2018-02-04
  • 2012-12-30
  • 1970-01-01
相关资源
最近更新 更多