java - 在Java中递归地解压缩不同文件夹中的多个gzip文件

标签 java windows gzip directory unzip

我有以下文件结构:

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

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

我尝试了不同的代码来提取每个文件,但似乎没有任何效果。我遇到的另一件有趣的事情是我似乎无法解锁目录的只读权限。我取消选中它,转到“安全”选项卡并授予自己管理员权限,但下一秒,它又恢复为只读。这是题外话,但我不得不把它放在那里。请帮助我!谢谢!

最佳答案

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

解压使用GZIPInputStream。

关于java - 在Java中递归地解压缩不同文件夹中的多个gzip文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12872189/

相关文章:

java - GZIPInputStream 无法在接收方解码(设置的代码长度无效)

java - Inno 安装程序 : Removing files installed by previous version

java - 如何设置 SimpleDateFormat "W"使用 MONDAY 是一周的第一天?

windows - Electron 窗 : architecture

python - 如何在 RESTful Flask 应用程序中将 Pandas DataFrame 序列化/反序列化为 ProtoBuf/Gzip?

javascript - 如何在 blogger 上启用 GZIP 或者如果使用太多脚本如何提高 blogger 速度?

java - <c :foreach> jSTL tag doesn't print anything

c# - 从 C# 中选择 SQL Server 数据库中的特定记录

windows - 使用带有 Web 平台安装程序 API 的 Powershell 仅在 64 位计算机上获取 x86 安装程序

php - Android GZIPInputStream 无法识别 gzip 格式