使用Apache Commons Compress创建gzip存档

时间:2013-01-22 09:08:53

标签: java compression gzip archive apache-commons

我成功创建了包含预期内容的gz存档,但如何在存档中设置文件名?

我的意思是,如果创建了存档myfile.gz,其中的文件将被命名为“myfile”,但我想将其命名为源文件,例如“1.txt

当前代码:

public static void gz() throws FileNotFoundException, IOException {
    GZIPOutputStream out = null;
    String filePaths[] =  {"C:/Temp/1.txt","C:/Temp/2.txt"}; 
    try {
         out = new GZIPOutputStream(
              new BufferedOutputStream(new FileOutputStream("C:/Temp/myfile.gz")));

            RandomAccessFile f = new RandomAccessFile(filePaths[0], "r");
            byte[] b = new byte[(int)f.length()];
            f.read(b);
            out.write(b, 0, b.length);

            out.finish();
            out.close();
    } finally {
         if(out != null) out.close();
    }
}

1 个答案:

答案 0 :(得分:0)

GZip压缩流。通常,当人们将GZip与多个文件一起使用时,他们也会使用tar将它们拼凑在一起。 gzip archive with multiple files inside