如何解压缩包含多个文件的 .gz 文件

我想使用java解压缩多个 .gz 文件,并且所有文件(.gz)中都有多个文件:


我有这样的文件结构:


D:\folder\file1.gz

D:\folder\file2.gz

所有的 gz 文件都是这样的:


file1.gz

abc11.txt

abc12.txt

abc13.txt

abc14.txt

file2.gz

abc21.txt

abc22.txt

abc23.txt

abc24.txt


叮当猫咪
浏览 498回答 1
1回答

largeQ

你问的不是很合理。您是否真的有 .tar.gz 或 .tgz 文件?根据 Gzip 主页 ( https://www.gzip.org/ ):gzip 是一个单文件/流无损数据压缩实用程序,其中生成的压缩文件通常具有后缀 .gz。Gzip 文件只是一个压缩的字节流。就文件而言,解压 .gz 文件总是会得到一个文件。该格式没有提供将结果文件的内容分成多个文件或为这些文件分配名称的规定。还有其他文件格式可以存储多个文件。Tar 是在使用 Gzip 的同一圈子中用于此目的的常用软件。Tar 文件通常具有 .tar 扩展名。但是在创建 Tar 时,通常会立即使用 Gzip 对其进行压缩。因此,您经常会在野外找到扩展名为 .tar.gz 的文件。这意味着将一个或多个文件收集到一个 Tar 文件中,然后使用 Gzip 压缩该文件。这种情况非常普遍,以至于单个扩展名 .tgz 通常用作 .tar.gz 的快捷方式。此外,Tar 本身可以进行 Gzip 压缩,因此要从文件目录创建 .tgz 文件,您可以这样做:tar -czf archive.tgz somedirectoryname如果您实际上有一个 .tar.gz 或 .tgz 文件,那么将该文件解压缩并展开为多个文件的方法是首先使用 Gzip 解压缩,然后使用 Tar 解压缩单个文件。Tar 可以自己进行 Gzip 解压缩,因此解压缩 .tgz 文件所需要做的就是:tar -xzf 存档.tgz这将生成用于创建 .tgz 文件的任何文件和目录结构。如果你真的只有一个 .gz 文件,那么我不确定你有什么,如果你希望它自然地扩展成多个文件。.gz 文件根本无法单独保留多个文件的任何概念。我的猜测是您拥有的是 Gzip 压缩的单个日志文件。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java