Злиття архівів ZIP у C#
Contents
[
Hide
Show
]Якщо ви хочете об’єднати довільну кількість ZIP-архівів в один архів, прочитайте цю статтю.
Опис
API Aspose.ZIP надає клас Archive для видобування та створення ZIP-архівів. Ми можемо витягти запис у пам’ять, не зберігаючи його в проміжному сховищі, і відразу передати в ZIP-архів.
Переконайтеся, що у вас достатньо віртуальної пам’яті, щоб зберегти вміст усіх записів.
Перенести запис
У наведеному нижче прикладі коду показано, як витягнути записи з кількох ZIP-архівів і негайно помістити їх до 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 }