Fusion d'archives ZIP en C#
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. Nous pouvons extraire une entrée en mémoire sans la sauvegarder dans un stockage intermédiaire et la transmettre immédiatement dans l’archive ZIP.
Assurez-vous de disposer 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 l’archive ZIP.
1 string[] archivesPaths = new string[] { "data/first.zip", "data/second.zip" };
2 Archive[] archives = new Archive[archivesPaths.Length];
3 using (var merged = new Archive())
4 {
5 for (int i = 0; i < archivesPaths.Length; i++)
6 {
7 Archive a = new Archive(archivesPaths[i]);
8 archives[i] = a;
9 foreach (ArchiveEntry entry in a.Entries)
10 merged.CreateEntry(entry.Name, entry.Open());
11 }
12
13 merged.Save("merged.zip");
14
15 for (int i = 0; i < archivesPaths.Length; i++)
16 {
17 archives[i].Dispose();
18 }
19 }