
C# Archive: Lernen Sie, die Archive-Klasse für umfassende ZIP-Handlung zu nutzen.
ZIP Archive sind unerlässlich für das Komprimieren und Organisieren von Dateien und Ordnern in einem einzigen, handhabbaren Container. Sie reduzieren nicht nur die Dateigrößen für effiziente Speicherung und Übertragung, sondern bewahren auch Metadaten und können zur erhöhten Sicherheit verschlüsselt werden. In diesem Artikel werden wir verschiedene Methoden untersuchen, um Programmgesteuert ZIP-Dateien in C# erstellen, einschließlich wie man Dateien und Ordner hinzufügt, passwortgeschützte Archive erstellt und AES‑Verschlüsselung anwendet.
Was du lernen wirst
In diesem Artikel erfahren Sie, wie Sie:
- Erstellen eines ZIP-Archivs mit C#
- Mehrere Dateien in ein ZIP-Archiv einfügen
- Folders zu einem ZIP-Archiv hinzufügen
- Erstellen eines passwortgeschützten ZIP-Archivs mit ZipCrypto
- Verschlüsseln eines ZIP-Archivs mit AES-Verschlüsselung
- Parallelkompression Modus eingestellt
C# ZIP Bibliothek
Der Aspose.ZIP for .NET Bibliothek ist ein leistungsstarkes Werkzeug für die Handhabung von ZIP-Dateioperationen innerhalb von .NET-Anwendungen, das das Zippen oder Entzippen von Dateien und Ordnern erleichtert. Diese Bibliothek ist besonders effektiv für Umgang mit großen Dateien in C# .NET ZIP Archive und unterstützt AES-Verschlüsselung für verbesserte Sicherheit. Sie können diese Bibliothek einfach von NuGet oder laden Sie die Binaries von Downloads Abschnitt.
Erstellen eines ZIP-Archivs in C#
Zu Programmgesteuert eine ZIP-Datei in C# erstellen, befolgen Sie diese Schritte:
- Erstelle ein FileStream Objekt für das Ausgabearchiv ZIP.
- Öffnen Sie die Quelldatei als FileStream Objekt.
- Instanziiere das Archiv Klasse.
- Fügen Sie die Datei dem Archiv hinzu, indem Sie die Archive.CreateEntry(string, FileStream) Methode.
- Speichern Sie das ZIP-Archiv mit dem Archive.Save(FileStream) Methode.
Hier ist eine Code-Vorlage, die zeigt, wie Sie eine Datei mit C# zu einem ZIP-Archiv hinzufügen:
using Aspose.Zip;
using Aspose.Zip.Saving;
// Create FileStream for output ZIP archive
using (FileStream zipFile = File.Open("compress_directory.zip", FileMode.Create))
{
using (Archive archive = new Archive(new ArchiveEntrySettings(null, new AesEcryptionSettings("p@s$", EncryptionMethod.AES128))))
{
// Add folder to archive
DirectoryInfo corpus = new DirectoryInfo("CanterburyCorpus");
archive.CreateEntries(corpus);
// Create ZIP archive
archive.Save(zipFile);
}
}
Mehrere Dateien in einem ZIP-Archiv in C#
Wenn Sie es tun müssen Mehrere Dateien zu einem ZIP-Archiv hinzufügen, mehrere Ansätze können verfolgt werden. Hier sind die Methoden, die Sie mit verwenden können. C# zum Zippen mehrerer Dateien:
Verwenden von FileStream zum Hinzufügen von mehreren Dateien
Diese Methode verwendet die FileStream Klasse zum Hinzufügen von Dateien zum ZIP-Archiv über die Archive.CreateEntry(String, FileStream) Methode. So können Sie es tun:
using Aspose.Zip;
using Aspose.Zip.Saving;
// Create FileStream for output ZIP archive
using (FileStream zipFile = File.Open("compress_directory.zip", FileMode.Create))
{
using (Archive archive = new Archive(new ArchiveEntrySettings(null, new AesEcryptionSettings("p@s$", EncryptionMethod.AES128))))
{
// Add folder to archive
DirectoryInfo corpus = new DirectoryInfo("CanterburyCorpus");
archive.CreateEntries(corpus);
// Create ZIP archive
archive.Save(zipFile);
}
}
Verwenden von FileInfo für mehrere Dateien
Alternativ können Sie das nutzen. FileInfo Klasse zum Laden von Dateien und zum Hinzufügen zum ZIP-Archiv mit dem Archive.CreateEntry(String, FileInfo) Methode. Nachfolgend ein Codebeispiel:
Verwenden Sie den File Path
Sie können die Dateipfade auch direkt angeben. Archive.CreateEntry(String name, String path, Boolean openImmediately, ArchiveEntrySettings newEntrySettings) Methode. Hier ist ein Beispiel:
Folders zu einem ZIP-Archiv in C#
Zu Einen Ordner zu einem ZIP-Archiv in C# hinzufügen, folgen Sie diesen Schritten:
- Erstelle ein FileStream Objekt für das Ausgabe-ZIP-Archiv.
- Instanziiere das Archiv Klasse.
- Verwenden Sie das DirectoryInfo Klasse, um den Ordner anzugeben, den Sie zippen möchten.
- Fügen Sie den Ordner zum ZIP hinzu, indem Sie die Archive.CreateEntries(DirectoryInfo) Methode.
- Speichern Sie das ZIP-Archiv mit dem Archive.Save(FileStream) Methode.
Hier ist ein Code-Beispiel, der zeigt, wie man einen Ordner zu einer ZIP-Datei hinzufügt:
Erstellen Sie ein Passwortgeschütztes ZIP mit ZipCrypto in C#
Um Ihre ZIP-Archive zu sichern, können Sie einen Passwortschutz mit ZipCrypto‑Verschlüsselung anwenden. Dies wird erreicht, indem man die ArchiveEntrySettings Klasse im Konstruktor von Archiv, die den Verschlüsselungstyp als Parameter akzeptiert. Sie können die C# Zip-Archiv-Passwort Methode, um dies einfach umzusetzen.
Hier ist ein Beispiel, wie Sie ein passwortgeschütztes ZIP-Archiv mit ZipCrypto in C# erstellen:
Erstellen Sie Passwortgeschütztes ZIP mit AES-Verschlüsselung
Der Aspose.ZIP for .NET Die Bibliothek unterstützt ebenfalls AES‑Verschlüsselung zum Schutz von ZIP-Archiven. Sie können aus den folgenden AES‑Verschlüsselungsmethoden wählen:
- AES128
- AES192
- AES256
Um AES-Verschlüsselung anzuwenden, verwenden Sie die AesEcryptionSettings Klasse. Nachfolgend ein Codebeispiel, das zeigt, wie man ein passwortgeschütztes ZIP mit AES‑Verschlüsselung in C# erstellt, einschließlich Unterstützung für das. C# Zip-Datei-Passwort Funktion:
Parallel-Kompression-Modus
Für eine effiziente Verarbeitung mehrerer Einträge können Sie die API für parallele Kompression konfigurieren, indem Sie die ParallelOptions Klasse. Die verfügbaren parallelen Komprimierungsmodi sind:
- Nie - Nicht parallel komprimieren.
- Immer - Parallel komprimieren (Achtung bei möglichen Speicherproblemen).
- Auto - Automatisch entscheiden, ob basierend auf den Einträgen Parallelkompression verwendet werden soll.
Hier ist, wie Sie den Parallelkomprimierungsmodus einstellen, während Sie mehrere Dateien mit der Aspose C# ZIP-Bibliothek zippen:
using Aspose.Zip;
using Aspose.Zip.Saving;
// For complete examples and data files, please go to https://github.com/aspose-zip/Aspose.ZIP-for-.NET
string dataDir = "";
using (FileStream zipFile = File.Open(dataDir + "UsingParallelismToCompressFiles_out.zip", FileMode.Create))
{
using (FileStream source1 = File.Open(dataDir + "alice29.txt", FileMode.Open, FileAccess.Read))
{
using (FileStream source2 = File.Open(dataDir + "asyoulik.txt", FileMode.Open, FileAccess.Read))
{
using (var archive = new Archive())
{
archive.CreateEntry("alice29.txt", source1);
archive.CreateEntry("asyoulik.txt", source2);
//Define the parallelism criterion
var parallelOptions = new Aspose.Zip.Saving.ParallelOptions
{
ParallelCompressInMemory = ParallelCompressionMode.Always
};
archive.Save(zipFile,
new ArchiveSaveOptions()
{
ParallelOptions = parallelOptions,
Encoding = Encoding.ASCII,
ArchiveComment = "There are two poems from Canterbury corpus"
});
}
}
}
}
Erfahren Sie mehr über die C# .NET ZIP-Bibliothek
Um Ihr Verständnis zu vertiefen C# .NET ZIP Bibliothek, erkunden Sie die folgenden Ressourcen:
Testen Sie unser Online ZIP-Komprimierungs-Tool
Sie können auch mit unserem experimentieren kostenlose Online-Anwendung basierend auf dem Aspose.ZIP für .NET, um Dateien mühelos in ZIP-Archive zu komprimieren.
Fazit
In diesem Artikel haben Sie gelernt, wie man Erstelle ZIP-Archive programmgesteuert in C#. Die bereitgestellten Codebeispiele zeigen, wie man Dateien und Ordner zu ZIP-Archiven hinzufügt, passwortgeschützte ZIP-Dateien mit ZipCrypto- und AES-Verschlüsselungsmethoden erstellt und die parallele Kompression konfiguriert. Zusätzlich verstehen Sie jetzt, wie man Erstelle ZIP-Dateien in C#, einschließlich wie man Datei zippen, Erstelle eine ZIP-Datei in C#, und Dateien zu ZIP hinzufügen Archive. Wenn Sie Fragen haben oder weitere Unterstützung benötigen, können Sie sich gerne über unser Forum.
Siehe auch
Zusätzliche Ressourcen
Wenn Sie nach weiteren Informationen darüber suchen, wie man Erstelle ZIP-Dateien in C#, schauen Sie sich das an:
- Wie man Dateien in .NET mit C# Zippen
- C# Zip Datei mit Passwort
- C# Erstellen von Zip-Dateien aus mehreren Dateien
- C# ZIP Bibliothek
- Hier ist eine Code-Vorlage, die zeigt, wie Sie eine Datei mit C# zu einem ZIP-Archiv hinzufügen:
Verschiedene Methoden einbeziehen, um Erstelle ZIP-Dateien in C#, zum Beispiel .NET Kern Erstellen ZIP Datei, C# ZIP-Datei programmgesteuert erstellen, und C# Dateien zu ZIP hinzufügen, kann die Entwicklungseffizienz und die Datenverarbeitungsfähigkeiten erheblich verbessern.
Sie können auch das erkunden. C# Zip-Datei-Beispiel um eine praktische Umsetzung dieser Methoden zu sehen, die Ihr Verständnis dafür weiter vertiefen wird, wie man zip-Dateien in .NET mit C#.