Fusionner un nombre quelconque d'archives ZIP
Contents
[
Hide
Show
]Si vous souhaitez combiner un nombre arbitraire d’archives ZIP en une seule archive, lisez cet article.
Description
L’API Aspose.ZIP fournit la classe Archive pour extraire et composer des archives ZIP. Il est possible d’extraire une entrée dans la mémoire sans la sauvegarder dans un stockage intermédiaire et de la passer immédiatement dans l’archive ZIP.
Assurez-vous que vous disposez de 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 ZIP et les placer immédiatement dans une archive ZIP.
1String[] archivesPaths = new String[] { "data/first.zip", "data/second.zip" } ;
2Archive[] archives = new Archive[archivesPaths.length] ;
3try (Archive merged = new Archive()) {
4 for (int i = 0 ; i < archivesPaths.length ; i++) {
5 Archive a = nouvelle Archive(archivesPaths[i]) ;
6 archives[i] = a ;
7 for (ArchiveEntry entry : a.getEntries()) {
8 merged.createEntry(entry.getName(), entry.open()) ;
9 }
10 }
11
12 merged.save("merged.zip");
13
14 for (int i = 0; i < archivesPaths.length; i++) {
15 archives[i].close();
16 }
17}