我绘制了存储为gz文件的历史文件 有没有办法在java中加载gz文件 到目前为止,我从谷歌获得的nly结果是运行外部程序来解压缩它,我宁愿在java中完成它。
答案 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();
}
}