![]() |
1
10
a)zip是存档格式,而gzip不是。所以入口迭代器没有多大意义,除非(例如)gz文件是压缩的tar文件。你想要的可能是:
b)是否只解压缩文件?如果没有,您可以使用gzip输入流并直接读取文件,即不需要中间解压。 但是可以。假设你真的 只有 要解压缩文件。如果是这样,您可能会使用:
|
![]() |
2
2
|
![]() |
3
0
如果您有固定数量的文件要解压缩一次,那么为什么不使用现有的工具进行解压缩呢?
正如保罗·莫里注意到的,
在Windows上,可以尝试Winrar,或者
|
![]() |
4
0
gzip通常只用于单个文件,因此 通常地 不包含有关单个文件的信息。要将多个文件捆绑到一个压缩的归档文件中,首先将它们组合成一个未压缩的tar文件(包含有关单个内容的信息),然后压缩为单个文件。这种组合叫做tarball。 有一些库可以从tar中提取单个文件信息,就像使用zipEntries一样。 One example. 您首先必须将.gz文件提取到一个临时文件中才能使用它,或者至少将gzip输入流馈送到tar库中。 您还可以使用Java从命令行调用7Zip。7-zip命令行语法如下: 7-Zip Command Line Syntax. 从Java调用命令shell的示例: Executing shell commands in Java. 您必须调用7-zip两次:一次从.tar.gz或.tgz文件中提取tar,另一次从tar中提取单个文件。 或者,您也可以简单地编写一个简短的shell脚本或批处理文件来进行解压。没有理由在圆孔中锤一个方形的钉子——这就是批处理文件的用途。作为奖励,您还可以为它们提供参数,从而大大减少Java命令行执行的复杂性,同时仍允许Java控制执行。 |
![]() |
5
0
你试过了吗?
|
![]() |
6
0
.gz文件(gzipped)可以存储压缩文件的文件名。例如,fubar.doc可以保存在mydocument.gz中,通过适当的解压,文件可以恢复为文件名fubar.doc。不幸的是,java.util.zip.gzip输入流不支持任何方式读取文件名,即使文件名存储在存档中。 |
![]() |
Alex Multifabrika · 设置IIS10以提供预压缩文件 7 年前 |
![]() |
Brendan Gooden · 无法将值附加到字符串C# 7 年前 |
![]() |
noobcoder · 如何为PIGZ(并行gzip)准备放气流? 7 年前 |
|
olmedocr · 在firebase上使用gzip压缩 7 年前 |
![]() |
Rudraksh Pathak · Gzip压缩不适用于XHR请求 7 年前 |
![]() |
RightmireM · 逐行写入gzip文件 7 年前 |