I want to know, how to decompress .tgz file to .tar using apache commons. As i am able to extract the .tar file but for .tgz file first i need to bring it to .tar which I seems to be an issue for me.
.tgz file is something which i need to unzip it first so that .tar will be available. However, zip extraction is not working on .tgz file for me.
My main concern is , how to decompress .tgz file to .tar.
any suggestion. thanks.
CodePudding user response:
You don't need Apache Commons for .tgz to tar. That's because .tgz is .tar with GZIP compression applied. Create an InputStream for the file, wrap it in a GZIPInputStream, and read from that. You can use that directly in creating a TarArchiveInputStream if you want:
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
}
}
