VERGLEICH MIT ANDEREN KOMPONENTEN

Zip-Archiv C# (Entwickler-Tutorial)

Veröffentlicht 30. Oktober 2023
Teilen Sie:

ZIP-Archive sind ein beliebtes Format zum Komprimieren und Verpacken einer einzelnen Datei oder einer ganzen Sammlung von mehreren Dateien in einem einzigen ZIP-Paket-Container oder einer ZIP-Datei. In C# können Sie problemlos mit ZIP-Archiven arbeiten, indem Sie den System.IO.Compression-Namensraum verwenden, der Klassen wie ZipArchive und ZipFile bereitstellt, um verschiedene Operationen mit ZIP-Dateien durchzuführen. In diesem Tutorial lernen Sie, wie Sie ZIP-Dateien erstellen, Daten aus komprimierten Dateien extrahieren und ZIP-Archive in C# mit Hilfe von relativen Pfaden manipulieren können.

Voraussetzungen

  1. Grundlegende Kenntnisse der C#-Programmierung.

  2. Visual Studio oder eine andere C#-Entwicklungsumgebung.

Schritt 1: Erstellen eines neuen C# Projekts

Öffnen Sie Ihre C#-Entwicklungsumgebung und erstellen Sie ein neues C#-Projekt, um die Funktionalität von Zip-Archiven und komprimierten Textdateien mit ZipArchive archive=new ZipArchive(). Sie können entweder eine Konsolenanwendung oder einen anderen geeigneten Projekttyp für Ihren Anwendungsfall wählen.

Schritt 2: Erstellen eines Zip-Archivs aus einem Ordner in C

Mit `ZipFile.CreateFromDirectory' können wir ganz einfach ein neues Zip-Archiv aus einem bestehenden Verzeichnis erstellen()methode, wie im folgenden Beispiel gezeigt.

static void Main(string [] args)
{
ZipFile.CreateFromDirectory(@"D:\Certificate", @"D:\Certificate.zip", CompressionLevel.SmallestSize, true);
}
static void Main(string [] args)
{
ZipFile.CreateFromDirectory(@"D:\Certificate", @"D:\Certificate.zip", CompressionLevel.SmallestSize, true);
}
Shared Sub Main(ByVal args() As String)
ZipFile.CreateFromDirectory("D:\Certificate", "D:\Certificate.zip", CompressionLevel.SmallestSize, True)
End Sub
VB   C#

Der erste Parameter @"D:\Certificate" gibt das zu komprimierende Quellverzeichnis an, während der zweite Parameter @"D:\Certificate.zip" den Speicherort und den Namen des resultierenden ZIP-Archivs angibt. Der dritte Parameter CompressionLevel.SmallestSize bestimmt die Komprimierungsstufe, wobei SmallestSize die kleinste Dateigröße angibt, auch wenn die Komprimierung von Binärdaten länger dauert. Der vierte Parameter, true, gibt an, ob die Verzeichnisstruktur und das Dateisystem innerhalb des ZIP-Archivs beibehalten werden sollen, um sicherzustellen, dass die Struktur des Ordners erhalten bleibt.

Schritt 3: Aktualisieren eines Zip-Archivs in C#

Im folgenden Beispiel wird die Arbeit mit einem vorhandenen ZIP-Archiv in C# veranschaulicht. Wir werden insbesondere untersuchen, wie man ein bereits erstelltes ZIP-Paket mit ZipArchive archive=zipfile.openread öffnet, seinen Inhalt ändert und eine neue Datei sowie eine vorhandene Datei anfügt.

 using (FileStream zipToOpen = new FileStream(@"D:\Invoices.zip", FileMode.Open))
 {
//var archive= new ZipArchive
     using (ZipArchive archive = new ZipArchive(zipToOpen, ZipArchiveMode.Update))
     {
         archive.CreateEntryFromFile(@"D:/Invoice.pdf", "Invoices/myInvoice.pdf");
         ZipArchiveEntry entry = archive.CreateEntry("Readme.txt");
//using StreamWriter writer=new StreamWriter
         using (StreamWriter writer = new StreamWriter(entry.Open()))
         {
            writer.WriteLine("This folder contains the file compressed using C#");
            writer.WriteLine("========================");
         }
     }
 }
 using (FileStream zipToOpen = new FileStream(@"D:\Invoices.zip", FileMode.Open))
 {
//var archive= new ZipArchive
     using (ZipArchive archive = new ZipArchive(zipToOpen, ZipArchiveMode.Update))
     {
         archive.CreateEntryFromFile(@"D:/Invoice.pdf", "Invoices/myInvoice.pdf");
         ZipArchiveEntry entry = archive.CreateEntry("Readme.txt");
//using StreamWriter writer=new StreamWriter
         using (StreamWriter writer = new StreamWriter(entry.Open()))
         {
            writer.WriteLine("This folder contains the file compressed using C#");
            writer.WriteLine("========================");
         }
     }
 }
Using zipToOpen As New FileStream("D:\Invoices.zip", FileMode.Open)
'var archive= new ZipArchive
	 Using archive As New ZipArchive(zipToOpen, ZipArchiveMode.Update)
		 archive.CreateEntryFromFile("D:/Invoice.pdf", "Invoices/myInvoice.pdf")
		 Dim entry As ZipArchiveEntry = archive.CreateEntry("Readme.txt")
'using StreamWriter writer=new StreamWriter
		 Using writer As New StreamWriter(entry.Open())
			writer.WriteLine("This folder contains the file compressed using C#")
			writer.WriteLine("========================")
		 End Using
	 End Using
End Using
VB   C#

Der obige Code öffnet ein vorhandenes ZIP-Archiv unter "D:\Invoices.zip" im Lesemodus unter Verwendung eines FileStream und erstellt ein ZipArchive im Aktualisierungsmodus, um den Inhalt des Archivs zu lesen und zu ändern. Anschließend wird die Methode "CreateEntryFromFile" verwendet, um die Datei "Invoice.pdf" von "D:" dem Archiv hinzuzufügen, indem sie im Verzeichnis "Invoices" abgelegt und als "myInvoice.pdf" bezeichnet wird

Verzeichnis der Rechnungen

Schritt #4: Entpacken eines Zip-Archivs

Der folgende C#-Code extrahiert den Inhalt einer ZIP-Datei in ein bestimmtes Verzeichnis.

ZipFile.ExtractToDirectory(@"D:\Certificate.zip", @"D:\ExtractedCertificate");
ZipFile.ExtractToDirectory(@"D:\Certificate.zip", @"D:\ExtractedCertificate");
ZipFile.ExtractToDirectory("D:\Certificate.zip", "D:\ExtractedCertificate")
VB   C#

Die obigen Codezeilen dekomprimieren Dateien aus einem ZIP-Archiv. Er gibt das ZIP-Quellarchiv unter "D:\Certificate.zip" an und benennt das Zielverzeichnis als "D:\ExtractedCertificate" Der Code entpackt das Archiv und legt seinen Inhalt in dem angegebenen Verzeichnis ab. Sie können den absoluten Pfad oder den relativen Pfad des Verzeichnisses angeben, in dem Sie arbeiten, um eine komprimierte Textdatei zu erstellen.

IronPDF stellt sich vor

IronPDF ist eine vielseitige und leistungsstarke C#-Bibliothek, die die Erstellung, Bearbeitung und Darstellung von PDF-Dokumenten in .NET-Anwendungen vereinfacht. Es bietet Entwicklern die Klassen und Methoden, um PDF-Dateien in ihren C#-Projekten einfach zu erzeugen, zu bearbeiten und zu konvertieren. Egal, ob Sie PDF-Berichte, Rechnungen oder interaktive Formulare erstellen müssen, IronPDF bietet eine breite Palette von Funktionen und Möglichkeiten, die es zu einer unverzichtbaren Bibliothek für Unternehmen und Entwickler machen, die umfassende PDF-Funktionen in ihren .NET-Anwendungen benötigen. Mit IronPDF können Sie die PDF-Erzeugung und -Bearbeitung nahtlos in Ihre C#-Anwendungen integrieren und so verschiedene PDF-bezogene Aufgaben effizient erledigen.

Merkmale von IronPDF

IronPDF bietet eine umfassende Reihe von Funktionen und Möglichkeiten für die Arbeit mit PDFs in C#-Anwendungen. Einige der wichtigsten Merkmale sind:

PDF-Erstellung: Sie können auf einfache Weise neue PDF-Dokumente erstellen oder bestehende Dokumente mit einer breiten Palette von Texten, Bildern und grafischen Elementen bearbeiten.

Konvertierung von HTML in PDF: Konvertieren Sie HTML-Seiten, URLs oder sogar rohe HTML-Inhalte in PDF mit originalgetreuem Rendering. Dies ist besonders nützlich für die Erstellung von Berichten oder die Erfassung von Webinhalten.

PDF-Rendering: Rendering von PDFs zur Anzeige in Anwendungen, so dass Sie PDF-Dokumente direkt in Ihrem C#-Programm anzeigen und mit ihnen interagieren können.

PDF-Bearbeitung: Ändern Sie vorhandene PDF-Dokumente durch Hinzufügen, Löschen oder Aktualisieren von Text, Bildern und anderen Inhalten. Sie können auch das Layout und die Struktur der Seite verändern.

PDF-Formulare: Erstellen, Ausfüllen und Extrahieren von Daten aus interaktiven PDF-Formularen, die die Arbeit mit Umfragen, Fragebögen und anderen Datenerfassungsanwendungen erleichtern.

PDF-Verschlüsselung: Schützen Sie PDFs, indem Sie sie mit verschiedenen Verschlüsselungsalgorithmen verschlüsseln und Berechtigungen zum Anzeigen, Bearbeiten und Drucken festlegen.

PDF-Text-Extraktion: Extrahieren Sie Text und Daten aus PDF-Dokumenten und analysieren Sie den Inhalt für Indizierung, Suche oder Datenextraktion.

Unterstützung für Bilder und Grafiken: Fügen Sie Bilder, Formen und grafische Elemente in PDFs ein und bearbeiten Sie sie, um reichhaltige visuelle Inhalte zu erstellen.

PDF-Druck: Drucken Sie PDFs direkt aus Ihrer C#-Anwendung auf physischen oder virtuellen Druckern.

Erweiterte Textformatierung: Wenden Sie verschiedene Schriftstile, Farben und Formatierungsoptionen auf Text in Ihren PDF-Dokumenten an.

PDF zusammenführen und aufteilen: Kombinieren Sie mehrere PDF-Dokumente zu einem einzigen oder teilen Sie ein großes PDF-Dokument nach Bedarf in kleinere Abschnitte auf.

PDF-Zugänglichkeit: Stellen Sie sicher, dass Ihre PDF-Dokumente auch für Menschen mit Behinderungen zugänglich sind, indem Sie Barrierefreiheitsfunktionen wie Tags und Alternativtext hinzufügen.

Plattformübergreifende Unterstützung: IronPDF funktioniert sowohl auf Windows-, Mac- als auch auf Linux-Umgebungen, so dass Sie plattformübergreifende Anwendungen erstellen können.

Lizenzierungsoptionen: IronPDF bietet flexible lizenzierungsoptioneneinschließlich kostenloser Testversionen, damit die Entwickler die beste Lösung für ihre Bedürfnisse wählen können.

Fazit

Zusammenfassend lässt sich sagen, dass die Arbeit mit ZIP-Archiven in C# ein wertvolles Instrumentarium für verschiedene Szenarien bietet, von der Komprimierung von Dateien für die Speicherung oder Verteilung bis hin zur effizienten Datenverwaltung. Egal ob Sie ZIP-Archive erstellen, extrahieren oder manipulieren, der Namespace System.IO.Compression bietet ein benutzerfreundliches und leistungsfähiges Toolkit. Auch wenn ZIP-Archive für die Verwaltung von dateibezogenen Aufgaben unerlässlich sind, ist es erwähnenswert, dass Bibliotheken wie IronPDF in umfangreicheren Szenarien der Dokument- und Berichtserstellung die Möglichkeiten von C#-Anwendungen erweitern, indem sie eine umfassende PDF-Erzeugung, -Bearbeitung und -Rendering bieten, was sie zu einer robusten Wahl für komplexere dokumentenzentrierte Anforderungen macht. Durch die Kombination der nativen ZIP-Archivierungsfunktionen von C# mit den fortschrittlichen PDF-Funktionen von IronPDF können Entwickler vielseitige und vollständige Dokumentenverwaltungslösungen erstellen, die ihren unterschiedlichen Anforderungen gerecht werden.

< PREVIOUS
Ein Vergleich zwischen IronXL und GemBox.Spreadsheet
NÄCHSTES >
EPPlus Read Excel to Datatable C# (IronXL Tutorial)

Sind Sie bereit, loszulegen? Version: 2024.10 gerade veröffentlicht

Gratis NuGet-Download Downloads insgesamt: 1,068,832 Lizenzen anzeigen >