TAR.GZアーカイブの数をマージします
任意の数のtar.gzアーカイブを単一のアーカイブに組み合わせたい場合は、この記事をご覧ください。
説明
Aspose.Zip APIは、 TARARCHIVEクラスを提供し、圧縮の有無にかかわらず、TARアーカイブを抽出および構成します。 メモリを中間ストレージに保存せずにアーカイブを抽出し、そのエントリを合計TARアーカイブにすぐに渡すことができます。
すべてのエントリのコンテンツを保持するのに十分な仮想メモリがあることを確認してください。
エントリを転送
次のコードの例は、いくつかのtar.gzアーカイブからエントリを抽出し、すぐにTARアーカイブに配置する方法を示しています。 SaveGziptメソッドを使用して、メモリでGZに圧縮します。
1String [] ArchivesPaths = new String [] {"data/first.tar.gz"、 "data/second.tar.gz"、 "data/third.tar.gz"};
2Tararchive [] Archives = new Tararchive [ArchivesPaths.length];
3try(tararchive merged = new Tararchive()){
4 for(int i = 0; i <archivespaths.length; i ++){
5 Tararchive a = tararchive.fromgzip(archivespaths [i]);
6 アーカイブ[i] = a;
7 for(tarentry entry:a.getentries()){
8 merged.createentry(entry.getname()、entry.open());
9 }
10 }
11
12 merged.saveGzipped("merged.tar.gz");
13
14 for (int i = 0; i < archivesPaths.length; i++) {
15 archives[i].close();
16 }
17}
他のアーカイブの同様のアプローチ
同じアプローチを使用して、tar.lz、tar.xzを結合できます。