Fusionner un nombre quelconque d'archives Tar.gz
Si vous souhaitez combiner un nombre arbitraire d’archives Tar.gz en une seule archive, lisez cet article.
Description
L’API Aspose.ZIP fournit la classe TarArchive pour extraire et composer des archives Tar, avec ou sans compression. Il est possible d’extraire une archive en m�moire sans la sauvegarder dans un stockage interm�diaire et de transmettre imm�diatement ses entr�es � une archive Tar combin�e.
Assurez-vous d’avoir suffisamment de m�moire virtuelle pour conserver le contenu de toutes les entr�es.
Transf�rer une entr�e
L’exemple de code suivant montre comment extraire des entr�es de plusieurs archives Tar.gz et les placer imm�diatement dans une archive tar. Nous les compressons en gz en m�moire en utilisant la m�thode saveGzipped.
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 archives[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}Approche similaire pour les autres archives
Vous pouvez utiliser la m�me approche pour combiner tar.lz, tar.xz.