我想知道如何使用apachecommons将.tgz
文件解压缩为.tar
。由于我可以提取.tar文件,但首先对于.tgz
文件,我需要将其带到.tar,这对我来说似乎是个问题。.tgz
文件是我需要首先解压缩的文件,以便.tar可用。但是,zip提取对我来说不适用于.tgz
文件。
我主要关心的是,如何将.tgz
文件解压缩为.tar
。
任何建议。谢谢
.tgz
到tar
不需要Apache Commons。这是因为.tgz
是应用GZIP压缩的.tar
。为文件创建一个InputStream
,将其包装在GZIPInputStream
中,然后从中读取。如果你想的话,你可以直接在创建TarArchiveInputStream
时使用它:
try (InputStream source = Files.newInputStream(file);
GZIPInputStream gzip = new GZIPInputStream(source);
TarArchiveInputStream tar = new TarArchiveInputStream(gzip)) {
TarArchiveEntry entry;
while ((entry = tar.getNextTarEntry()) != null) {
// do somthing with entry
}
}