Paralleler Aufbau von ZIP-Archiven

Überblick

Die Aspose.ZIP-API bietet die Möglichkeit, ZIP-Archive zu erstellen. Da die Einträge eines solchen Archivs unabhängig voneinander komprimiert werden können, ist es möglich, die Archiverstellung bis zu einem gewissen Grad zu parallelisieren.

ZIP-Multithreaded: Erklärung

Verwenden Sie ParallelOptions, um anzugeben, dass das Archiv mit mehreren CPU-Kernen vorbereitet werden muss.

Die Einstellung ParallelCompressInMemory gibt die Strategie an, die wir für Multitasking wählen. Hier gibt es drei Möglichkeiten:

Wir empfehlen Ihnen, mit Ihren typischen Daten verschiedene Modi der Parallelkomprimierung auszuprobieren, um herauszufinden, welche Einstellungen in Ihrem Fall die besten sind.

So erstellen Sie ein ZIP-Archiv mit paralleler Komprimierung im C#-Beispiel

Schritte: Erstellen Sie ein ZIP-Archiv mit paralleler Komprimierung in C#

  1. Öffnen Sie einen Dateistream („FileStream“) in „FileMode.Create“, um eine neue ZIP-Datei („archive.zip“) zu erstellen.
  2. Initialisieren Sie ein neues „Archive“-Objekt zur Verwaltung von ZIP-Einträgen.
  3. Verwenden Sie die Methode „CreateEntry“, um mehrere Einträge hinzuzufügen, z. B. „first.bin“ und „last.bin“, und verwenden Sie „File.OpenRead“, um aus den Quelldateien zu lesen (data1.bin und dataN.bin).
  4. Richten Sie „ArchiveSaveOptions“ mit „ParallelOptions“ ein, wobei „ParallelCompressInMemory“ auf „ParallelCompressionMode.Always“ gesetzt ist, um die parallele Komprimierung für eine schnellere Archivierung zu ermöglichen.
  5. Speichern Sie das Archiv mit den angegebenen Optionen mit der Methode „Speichern“.
 1    using (FileStream zipFile = File.Open("archive.zip", FileMode.Create))
 2    {
 3        using (Archive archive = new Archive())
 4        {
 5            archive.CreateEntry("first.bin", File.OpenRead("data1.bin"));
 6            ...
 7            archive.CreateEntry("last.bin", File.OpenRead("dataN.bin"));
 8            archive.Save(zipFile, new ArchiveSaveOptions()
 9            {
10                ParallelOptions = new ParallelOptions() 
11                { ParallelCompressInMemory = ParallelCompressionMode.Always }
12            });
13        }
14    }
Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.