在Java中以递归方式将多个gzip文件解压缩到不同的文件夹中

时间:2012-10-13 10:23:39

标签: java windows gzip directory unzip

我有以下文件结构:

D:\Files\File1\file.gz, file2.gz, file3.gz
D:\Files\File2\file.gz, file2.gz, file3.gz
etc..

我想提供只有D:\Files的Java程序,它应该递归打开每个目录,并解压缩每个file.gz和file2.gz(它们都有相同的名称,所以我可以问它查找与该名称匹配的所有文件)到同一文件夹中。

我尝试过不同的代码来提取每个文件,但似乎没有任何工作。在我身上发生的另一个有趣的事情是我似乎无法解锁目录上的只读权限。我取消选中它,转到安全选项卡并给自己管理员权限,然而,下一秒,它回到只读。这是关闭主题,但我不得不把它放在那里。请帮帮我一个人!谢谢!

1 个答案:

答案 0 :(得分:1)

使用org.apache.commons.io.FileUtils.iterateFiles使用文件过滤器指定您只需要zip文件。

对于解压缩,请使用GZIPInputStream。