ZIP- und UnZIP-Ordner in .NET

Mit der Aspose.ZIP-API können Sie Dateien komprimieren und dekomprimieren, ohne sich Gedanken über die zugrunde liegende Dateistruktur machen zu müssen. In diesem Artikel wird das Arbeiten mit Einzel- und Mehrfachdateikomprimierung beschrieben.

Verzeichnis komprimieren

Verzeichnisinhalte komprimieren

Schritte: Verzeichnisinhalte mit C# in ZIP-Dateien komprimieren

  1. Definieren Sie das Verzeichnis, das die zu komprimierenden Dateien enthält.
  2. Öffnen Sie mit FileMode.Create zwei Dateistreams für die ZIP-Ausgabedateien.
  3. Erstellen Sie eine Instanz der Archive-Klasse.
  4. Verwenden Sie die Methode CreateEntries, um alle Dateien und Ordner aus dem angegebenen Verzeichnis zum Archiv hinzuzufügen.
  5. Speichern Sie den komprimierten Verzeichnisinhalt mit der Save-Methode in mehreren ZIP-Dateien.
 1    // For complete examples and data files, please go to https://github.com/aspose-zip/Aspose.ZIP-for-.NET
 2    string dataDir = RunExamples.GetDataDir_Data();
 3
 4    using (FileStream zipFile = File.Open(dataDir + "CompressDirectory_out.zip", FileMode.Create))
 5    {
 6        using (FileStream zipFile2 = File.Open(dataDir + "CompressDirectory2_out.zip", FileMode.Create))
 7        {
 8            using (Archive archive = new Archive())
 9            {
10                DirectoryInfo corpus = new DirectoryInfo(dataDir + "CanterburyCorpus");
11                archive.CreateEntries(corpus);
12                archive.Save(zipFile);
13                archive.Save(zipFile2);
14            }
15        }
16    }

Komprimiertes Verzeichnisarchiv extrahieren

Schritte: Extrahieren eines komprimierten Verzeichnisarchivs

  1. Öffnen Sie den ZIP-Dateistream mit FileMode.Open.
  2. Erstellen Sie eine Instanz der Archive-Klasse, indem Sie den ZIP-Dateistream übergeben.
  3. Extrahieren Sie den Inhalt des komprimierten Archivs mit ExtractToDirectory in ein angegebenes Verzeichnis.
1    // For complete examples and data files, please go to https://github.com/aspose-zip/Aspose.ZIP-for-.NET
2    using (FileStream zipFile = File.Open(dataDir + "CompressDirectory_out.zip", FileMode.Open))
3    {
4        using (var archive = new Archive(zipFile))
5        {
6            archive.ExtractToDirectory(dataDir + "DecompressFolder_out");
7        }
8    }

Dateien nach Dateiinformationen komprimieren

Schritte: Dateien nach Dateiinformationen komprimieren

  1. Öffnen Sie mit FileMode.Create einen Dateistream für die ZIP-Ausgabedatei.
  2. Erstellen Sie FileInfo-Objekte für die Dateien, die Sie komprimieren möchten.
  3. Erstellen Sie eine Instanz der Archive-Klasse.
  4. Verwenden Sie die CreateEntry-Methode, um jede Datei zum Archiv hinzuzufügen.
  5. Speichern Sie das Archiv mit der Save-Methode, mit optionalen Speicheroptionen wie dem Festlegen der Kodierung.
 1    // For complete examples and data files, please go to https://github.com/aspose-zip/Aspose.ZIP-for-.NET
 2    using (FileStream zipFile = File.Open(dataDir + "CompressFilesByFileInfo_out.zip", FileMode.Create))
 3    {
 4        FileInfo fi1 = new FileInfo(dataDir + "alice29.txt");
 5        FileInfo fi2 = new FileInfo(dataDir + "fields.c");
 6
 7        using (var archive = new Archive())
 8        {
 9            archive.CreateEntry("alice29.txt", fi1);
10            archive.CreateEntry("fields.c", fi2);
11            archive.Save(zipFile, new ArchiveSaveOptions() { Encoding = Encoding.ASCII });
12        }
13    }

Archive mit verschiedenen Eintragsarchiven extrahieren

Schritte: Extrahieren Sie Archive mit unterschiedlichem Eintrag Passwörter

  1. Öffnen Sie den ZIP-Dateistream mit FileMode.Open.
  2. Erstellen Sie eine Instanz der Archive-Klasse, indem Sie den ZIP-Dateistream übergeben.
  3. Extrahieren Sie den ersten Eintrag aus dem Archiv und geben Sie mithilfe der Extract-Methode ein spezifisches Passwort für diesen Eintrag an.
  4. Extrahieren Sie den zweiten Eintrag mit einem anderen Passwort und speichern Sie ihn in einer separaten Ausgabedatei.
1    // For complete examples and data files, please go to https://github.com/aspose-zip/Aspose.ZIP-for-.NET
2    using (FileStream zipFile = File.Open(dataDir + "\\different_password.zip", FileMode.Open))
3    {
4        using (Archive archive = new Archive(zipFile))
5        {
6            archive.Entries[0].Extract(dataDir + "alice29_extracted_pass_out.txt", "first_pass");
7            archive.Entries[1].Extract(dataDir + "asyoulik_extracted_pass_out.txt", "second_pass");
8        }
9    }
Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.