【发布时间】:2014-02-10 10:16:11
【问题描述】:
我有 GZIP 存档,其中包含两个文件,其中包含 tar 实用程序。我需要将它们都提取到内存中。所以我需要得到两个byte 数组作为结果。但是GZIPInputStream 用法的所有示例都只是读取字节并将它们保存到输出流中,所以我不知道如何获得两个byte[] 数组作为结果。
【问题讨论】:
-
"我有 GZIP 存档,里面有两个文件。" GZIP 不能那样工作。它没有多个文件的概念。它只是压缩数据。
-
@JonSkeet 我的错误,我已经更新了问题。
-
那么你的意思是你有一个 tar.gz 文件,还是一个 tgz 文件?如果是这样,您需要将提取的 gzip 部分与 tar 部分分开。当你解压 gzip 文件时,你会得到一个 tar 文件,然后你可以从中得到这两个文件。
-
@JonSkeet tar.gz。使用 .tar 文件的任何示例?请注意,我不想创建任何临时文件。这可能吗?
-
我自己没有使用过任何 tar 库 - 不过请参阅 code.google.com/p/jtar。