TarInputStream() を使用して tar ファイルの内容を読み取り、そこからすべてのファイルを特定の場所に保存しています。tar ファイルに似た名前のフォルダーを作成し、すべてのファイルをそのフォルダーに保存したいと考えています。たとえば、ファイル test1 と test2 を含む tar ファイル test.tar.gz がある場合、コードは test という名前でフォルダーを作成し、そのフォルダーに tar ファイルを抽出する必要があります。
これが私が書いたコードです。
TarInputStream tin = new TarInputStream(new GZIPInputStream(new FileInputStream(new File(tarFileName))));
TarEntry tarEntry = tin.getNextEntry();
while (tarEntry != null) {// create a file with the same name as tar entry
File destPath = new File(dest.toString() + File.separatorChar
+ tarEntry.getName());
FileOutputStream fout = new FileOutputStream(destPath);
tin.copyEntryContents(fout);
fout.close();
///services/advert/lpa/dimenions/data/advertiser/
Path inputFile = new Path(destPath.getAbsolutePath());
//To remove the local files set the flag to true
fs.copyFromLocalFile(inputFile, filenamepath);
tarEntry = tin.getNextEntry();
}