Wie man eine ZIP-Datei in C# öffnet
ZIP ist ein Archivdateisystemformat, das verlustfreie Datenkompression unterstützt. Eine ZIP-Datei kann eine oder mehrere Dateien oder Verzeichnisse enthalten, die komprimiert worden sein könnten. Das ZIP-Dateiformat erlaubt mehrere Komprimierungsalgorithmen, wobei DEFLATE der gebräuchlichste ist. Das ZIP-Format wurde dann schnell von vielen Software-Utilities unterstützt. Führende Betriebssystemanbieter unterstützen das ZIP-Archiv schon lange. Microsoft unterstützt ZIP-Dateien seit Windows 98, und der Rest folgte diesem Beispiel.
In diesem Blog werden wir eine moderne, einfache und effiziente Möglichkeit erkunden, ZIP-Archivdateien oder extrahierte Dateien mit IronZIP zu öffnen. Wir werden allgemein über ZIP-Dateien und ihre Vorteile lernen. Dann werden wir die im System-Namespace verfügbaren Optionen zum Arbeiten mit dem ZIP-Dateiformat erkunden. Anschließend werden wir Schritt-für-Schritt-Anleitungen überprüfen, um die ZIP-Datei zu öffnen, die ZIP-Datei in einen temporären Ordner zu extrahieren, eine neue ZIP-Datei zu erstellen und Dateien zu bestehenden ZIP-Dateien hinzuzufügen.
Vorteile der Verwendung von ZIP-Dateien in Softwareanwendungen
- Kompression: Diese Technik reduziert die Größe der archivierten Dateien/Ordner unter Verwendung verschiedener Komprimierungsalgorithmen wie Implode, Deflate, Deflate64, bzip2, LZMA, WavPack, PPMd usw.
- Reduzierte Übertragungszeit: Kleinere Dateigrößen bedeuten schnellere Übertragungszeiten, insbesondere beim Senden von Dateien über das Internet. Dies ist besonders vorteilhaft für E-Mail-Anhänge sowie das Hochladen oder Herunterladen von Dateien von Websites.
- Konsolidierung von Dateien: ZIP-Dateien ermöglichen es Ihnen, mehrere Dateien in einem einzigen Archiv zu konsolidieren, was die Anzahl der zu verwaltenden Dateien reduziert. Dies ist nützlich zum Organisieren von Projekten oder zum Verteilen von Software, die aus mehreren Dateien besteht.
- Passwortschutz: Viele ZIP-Utilities bieten die Option, das Archiv mit einem Passwort zu schützen, was eine zusätzliche Sicherheitsschicht für Ihre Dateien bietet. Dies ist nützlich, wenn Sie den Zugriff auf die Inhalte der ZIP-Datei einschränken möchten.
ZIP-Archive erstellen und ZIP-Dateien mit IronZIP extrahieren
Einführung in die IronZIP-Bibliothek und Dokumentation finden Sie hier. In C#-Anwendungen können ZIP-Dateien auf verschiedene Weise erstellt und extrahiert werden. Das IronZIP NuGet-Paket hat alle Funktionen, um Dateien in verschiedenen Formaten zu archivieren: ZIP, TAR, GZIP und BZIP2. Im Folgenden finden Sie die Beispielschritte, wie Sie IronZIP in moderner Anwendungsprogrammierung verwenden können, um Apps der nächsten Generation zu erstellen, um ZIP-Dateien zu öffnen, ZIP-Dateien zu extrahieren, neue ZIP-Dateien zu erstellen usw.
Schritt 1. .NET Core Konsolenanwendung erstellen
Projekt erstellen
.NET-Konsolen-App kann mit Visual Studio erstellt werden. Öffnen Sie Visual Studio und wählen Sie Projekt erstellen. Hier sehen Sie verschiedene Vorlagen zur Erstellung eines Projekts. Der einfachste Weg, den Code zu demonstrieren oder zu testen, besteht darin, eine Konsolenanwendung zu erstellen. Wir werden die Projektvorlage Konsolen-App auswählen.

Projektnamen eingeben
Im untenstehenden Fenster können Sie den Projektnamen, den Speicherort des Projekts im Dateisystem und letztendlich den Pfad zum Lösungsordner eingeben. Sie können die Lösungs- und Projektordner gleich halten oder sie in verschiedenen Ordnern ablegen.

.NET Framework-Version auswählen
Der nächste Schritt besteht darin, die .NET Framework-Version für das Projekt auszuwählen. Wenn Sie in einer bestimmten Version entwickeln möchten, geben Sie die gewünschte Version an. Andernfalls wählen Sie immer die neueste stabile Version, um ein Projekt zu erstellen. Die neueste Version kann von der Microsoft-Website heruntergeladen werden. Dann klicken Sie auf Erstellen, um die Konsolenanwendung zu generieren.

Dies wird das Standardprojekt aus der Vorlage erstellen und die Projekt- und Lösungsdateien in den angegebenen Verzeichnissen speichern. Sobald das Projekt erstellt ist, sieht es ähnlich wie unten aus. Manchmal wird die Klasse in den neuesten Versionen nicht verwendet.
// Import necessary namespaces
using System;
// Define the namespace
namespace MyApp // Note: actual namespace depends on the project name.
{
// Define the Program class
internal class Program
{
// Main method: Entry point of the application
static void Main(string[] args)
{
// Print a welcome message
Console.WriteLine("Hello, World!");
}
}
}
// Import necessary namespaces
using System;
// Define the namespace
namespace MyApp // Note: actual namespace depends on the project name.
{
// Define the Program class
internal class Program
{
// Main method: Entry point of the application
static void Main(string[] args)
{
// Print a welcome message
Console.WriteLine("Hello, World!");
}
}
}
' Import necessary namespaces
Imports System
' Define the namespace
Namespace MyApp ' Note: actual namespace depends on the project name.
' Define the Program class
Friend Class Program
' Main method: Entry point of the application
Shared Sub Main(ByVal args() As String)
' Print a welcome message
Console.WriteLine("Hello, World!")
End Sub
End Class
End Namespace
Um eine neue ZIP-Datei zu erstellen und alle ZIP-Archivdateien zu extrahieren, können wir System.IO.Compression aus den Standardbibliotheken verwenden. Der folgende Code demonstriert, wie man die statischen Methoden ZipFile.OpenRead und ZipFile.Open verwendet, um ZIP-Dateien zu öffnen oder zu extrahieren.
// Import necessary namespaces
using System;
using System.IO;
using System.IO.Compression;
public class ZipExample
{
public static void Main()
{
Console.WriteLine("-----------Zip - Unzip-----------");
// Method to add a file entry to the ZIP archive
static void AddEntry(string filePath, ZipArchive zipArchive)
{
// Get file name from the file path
var file = Path.GetFileName(filePath);
// Create a new entry in the ZIP archive for the file
zipArchive.CreateEntryFromFile(filePath, file);
}
// Name of the ZIP file to be created
var zip = "myFile.zip";
// Open or create the ZIP file for updating
using (ZipArchive archive = ZipFile.Open(zip, ZipArchiveMode.Update))
{
// Add files to the archive
AddEntry("file1.txt", archive);
AddEntry("file2.txt", archive);
}
// Directory where we want to extract the ZIP files
var dirToExtract = "extract";
// Create the directory if it does not exist
if (!Directory.Exists(dirToExtract))
{
Directory.CreateDirectory(dirToExtract);
}
// Extract the contents of the ZIP file to the specified directory
ZipFile.ExtractToDirectory(zip, dirToExtract);
// Indicate that extraction is complete
Console.WriteLine("Files extracted to: " + dirToExtract);
}
}
// Import necessary namespaces
using System;
using System.IO;
using System.IO.Compression;
public class ZipExample
{
public static void Main()
{
Console.WriteLine("-----------Zip - Unzip-----------");
// Method to add a file entry to the ZIP archive
static void AddEntry(string filePath, ZipArchive zipArchive)
{
// Get file name from the file path
var file = Path.GetFileName(filePath);
// Create a new entry in the ZIP archive for the file
zipArchive.CreateEntryFromFile(filePath, file);
}
// Name of the ZIP file to be created
var zip = "myFile.zip";
// Open or create the ZIP file for updating
using (ZipArchive archive = ZipFile.Open(zip, ZipArchiveMode.Update))
{
// Add files to the archive
AddEntry("file1.txt", archive);
AddEntry("file2.txt", archive);
}
// Directory where we want to extract the ZIP files
var dirToExtract = "extract";
// Create the directory if it does not exist
if (!Directory.Exists(dirToExtract))
{
Directory.CreateDirectory(dirToExtract);
}
// Extract the contents of the ZIP file to the specified directory
ZipFile.ExtractToDirectory(zip, dirToExtract);
// Indicate that extraction is complete
Console.WriteLine("Files extracted to: " + dirToExtract);
}
}
' Import necessary namespaces
Imports System
Imports System.IO
Imports System.IO.Compression
Public Class ZipExample
Public Shared Sub Main()
Console.WriteLine("-----------Zip - Unzip-----------")
' Method to add a file entry to the ZIP archive
'INSTANT VB TODO TASK: Local functions are not converted by Instant VB:
' static void AddEntry(string filePath, ZipArchive zipArchive)
' {
' ' Get file name from the file path
' var file = Path.GetFileName(filePath);
'
' ' Create a new entry in the ZIP archive for the file
' zipArchive.CreateEntryFromFile(filePath, file);
' }
' Name of the ZIP file to be created
Dim zip = "myFile.zip"
' Open or create the ZIP file for updating
Using archive As ZipArchive = ZipFile.Open(zip, ZipArchiveMode.Update)
' Add files to the archive
AddEntry("file1.txt", archive)
AddEntry("file2.txt", archive)
End Using
' Directory where we want to extract the ZIP files
Dim dirToExtract = "extract"
' Create the directory if it does not exist
If Not Directory.Exists(dirToExtract) Then
Directory.CreateDirectory(dirToExtract)
End If
' Extract the contents of the ZIP file to the specified directory
ZipFile.ExtractToDirectory(zip, dirToExtract)
' Indicate that extraction is complete
Console.WriteLine("Files extracted to: " & dirToExtract)
End Sub
End Class
Im obigen Code wird eine ZIP-Datei mit dem Namen myFile.zip im System-Namespace verwendet. Die Methode Open wird verwendet, um die ZIP-Datei in einem bestimmten Modus zu öffnen. Dies kann auch verwendet werden, um neue ZIP-Archivdateien zu erstellen. Nach dem Öffnen können wir mit der Methode AddEntry einen neuen Archiveintrag hinzufügen, und anschließend extrahiert ExtractToDirectory die ZIP-Archivdateien in das angegebene Verzeichnis. Falls das Verzeichnis nicht existiert, wird es mit Directory.CreateDirectory erstellt.
Schritt 2. IronZIP mit NuGet-Paketmanager installieren
Öffnen Sie den Projektmanager aus Visual Studio und suchen Sie nach dem IronZIP-Paket. Dann wählen Sie die neueste Version aus und klicken auf Installieren. Sie können die zu installierende Version aus dem Dropdown ändern. Dann auf Installieren klicken.

Eine ZIP-Archivdatei erstellen und Dateien mit IronZIP hinzufügen

IronZIP ist eine Archivkompressions- und Dekompressionsbibliothek, die von Iron Software entwickelt wurde. Neben dem weit verbreiteten ZIP-Format kann sie auch TAR-, GZIP- und BZIP2-Formate verarbeiten.
IronZIP ist eine C# ZIP Archive Library, die Genauigkeit, Benutzerfreundlichkeit und Geschwindigkeit priorisiert. Sein benutzerfreundliches API ermöglicht es Entwicklern, innerhalb von Minuten Archivfunktionen zu modernen .NET-Projekten hinzuzufügen.
IronZIP bietet viele Vorteile gegenüber der System.IO.Compression Bibliothek. Während der Kompression können Sie das gewünschte Kompressionsverhältnis angeben und auch verschiedene Komprimierungsalgorithmen wie ZIP, TAR, GZIP, BZIP2 verwenden. Es unterstützt auch mobile, Web- und Desktop-Plattformen sowie verschiedene .NET-Versionen.
// Setup: Specify the path for the new ZIP archive
var archivePath = "ironZip.zip";
// Check if the archive already exists, and delete it if so
if (File.Exists(archivePath))
{
File.Delete(archivePath);
}
// Use IronZIP library to create a new ZIP archive
using (var archive = new IronZipArchive(9)) // Compression level: 9 for maximum compression
{
// Add files to the ZIP archive
archive.Add("file1.txt");
archive.Add("file2.txt");
// Save the archive to the specified path
archive.SaveAs(archivePath);
}
// Setup: Specify the path for the new ZIP archive
var archivePath = "ironZip.zip";
// Check if the archive already exists, and delete it if so
if (File.Exists(archivePath))
{
File.Delete(archivePath);
}
// Use IronZIP library to create a new ZIP archive
using (var archive = new IronZipArchive(9)) // Compression level: 9 for maximum compression
{
// Add files to the ZIP archive
archive.Add("file1.txt");
archive.Add("file2.txt");
// Save the archive to the specified path
archive.SaveAs(archivePath);
}
' Setup: Specify the path for the new ZIP archive
Dim archivePath = "ironZip.zip"
' Check if the archive already exists, and delete it if so
If File.Exists(archivePath) Then
File.Delete(archivePath)
End If
' Use IronZIP library to create a new ZIP archive
Using archive = New IronZipArchive(9) ' Compression level: 9 for maximum compression
' Add files to the ZIP archive
archive.Add("file1.txt")
archive.Add("file2.txt")
' Save the archive to the specified path
archive.SaveAs(archivePath)
End Using
Der initiale Quellcode wird eingerichtet, indem der Name der ZIP-Archivdatei angegeben und überprüft wird, ob das angegebene Verzeichnis existiert. Anschließend archivieren wir die Dateien, um mit der Methode Add eine ZIP-Datei zu erstellen. Der zweite Parameter im Kompressionsparameter ist 1 für niedriger und 9 für höher. Textdateien können verlustfrei mit 9 maximal komprimiert werden, und Bilddateien können niedrigere Kompression verwenden, um Datenverlust zu vermeiden.
Das ZIP-Archivdatei mit IronZIP öffnen
Die Klasse IronArchive kann auch verwendet werden, um die Dateien aus der ZIP-Archivdatei zu extrahieren. Alle Dateien werden mit IronArchive.ExtractArchiveToDirectory extrahiert, wodurch alle Dateien in bestimmte Verzeichnisse wie unten dargestellt extrahiert werden.
// Directory to extract all files from the ZIP archive
var extractionPath = "IronZipFiles";
// Check if the directory exists; if not, create it
if (!Directory.Exists(extractionPath))
{
Directory.CreateDirectory(extractionPath);
}
// Extract all files from the specified ZIP archive to the directory
IronArchive.ExtractArchiveToDirectory("ironZip.zip", extractionPath);
// Directory to extract all files from the ZIP archive
var extractionPath = "IronZipFiles";
// Check if the directory exists; if not, create it
if (!Directory.Exists(extractionPath))
{
Directory.CreateDirectory(extractionPath);
}
// Extract all files from the specified ZIP archive to the directory
IronArchive.ExtractArchiveToDirectory("ironZip.zip", extractionPath);
' Directory to extract all files from the ZIP archive
Dim extractionPath = "IronZipFiles"
' Check if the directory exists; if not, create it
If Not Directory.Exists(extractionPath) Then
Directory.CreateDirectory(extractionPath)
End If
' Extract all files from the specified ZIP archive to the directory
IronArchive.ExtractArchiveToDirectory("ironZip.zip", extractionPath)
Der obenstehende Code extrahiert ZIP-Dateien in ein Verzeichnis. Der Code überprüft, ob das Verzeichnis existiert, und wenn nicht, wird das ZIP-Archivdatei in das angegebene Verzeichnis extrahiert.
Lizenzierung (Kostenlose Testversion verfügbar)
Für das obige Codebeispiel ist ein Lizenzschlüssel erforderlich. Dieser Schlüssel muss in appsettings.json eingefügt werden.
{
"IronZip.LicenseKey": "your license key"
}
Eine Testlizenz ist für Entwickler nach Registrierung hier erhältlich und ja, es ist keine Kreditkarte für eine Testlizenz erforderlich. Man kann die E-Mail-ID angeben und sich für eine kostenlose Testversion registrieren.
Dateien zu einer bestehenden ZIP-Archivdatei hinzufügen
Verwenden Sie die statische Methode FromFile aus IronZIP , um ein vorhandenes Archiv zu öffnen. Diese Methode erfordert außerdem die Angabe des Dateinamens des neuen Archivs, das als Ausgabe erstellt werden soll.
// Path to a new file to be added to the existing ZIP archive
const string file3 = ".\\image3.png";
var archivePlusPath = "ironZipPlus.zip";
// Open the existing ZIP archive and add a new file
using (var file = IronArchive.FromFile("ironZip.zip", archivePlusPath))
{
// Add additional files to the existing archive
file.Add(file3);
}
// Path to a new file to be added to the existing ZIP archive
const string file3 = ".\\image3.png";
var archivePlusPath = "ironZipPlus.zip";
// Open the existing ZIP archive and add a new file
using (var file = IronArchive.FromFile("ironZip.zip", archivePlusPath))
{
// Add additional files to the existing archive
file.Add(file3);
}
' Path to a new file to be added to the existing ZIP archive
Const file3 As String = ".\image3.png"
Dim archivePlusPath = "ironZipPlus.zip"
' Open the existing ZIP archive and add a new file
Using file = IronArchive.FromFile("ironZip.zip", archivePlusPath)
' Add additional files to the existing archive
file.Add(file3)
End Using
Der Code verwendet die statische Methode IronArchive.FromFile, um die vorhandene ZIP-Datei zu öffnen und anschließend die neue Datei als Archiveintrag hinzuzufügen. Sobald das Dateiobjekt entsorgt ist, wird das aktualisierte Archiv erfolgreich gespeichert.
Updates
Die IronZIP-Bibliothek wird ständig basierend auf Feedback von Kunden/Nutzern aktualisiert, und alle Updates finden Sie hier.
Abschluss
Abschließend ist das Programmieren von ZIP-Dateien eine wesentliche Fähigkeit, die in der modernen Anwendungsentwicklung, wo Speicher- und Datenübertragungskosten von Cloud-Host-Anbietern berechnet werden, aufgebaut werden sollte. Diese Fähigkeit hilft Programmierern, die Kosten zu senken und die Leistung zu verbessern.
Indem Sie die Installationsschritte befolgen und die bereitgestellten Codebeispiele erkunden, können Entwickler die Leistung von IronZIP schnell nutzen, um ZIP-Aufgaben mit Leichtigkeit zu bewältigen. Da mehr und mehr Anwendungen modernisiert und in die Cloud verlagert werden, rüstet eine zuverlässige ZIP-Bibliothek wie IronZIP C#-Entwickler mit den Werkzeugen aus, die erforderlich sind, um den Anforderungen der modernen Anwendungsentwicklung gerecht zu werden. Nutzen Sie also die Leistung von IronZIP und entdecken Sie neue Möglichkeiten, mit ZIP-Dateien in Ihren C#-Anwendungen zu arbeiten.
IronZIP bietet umfangreiche Unterstützung für seine Entwickler. Um mehr darüber zu erfahren, wie IronZIP für C# funktioniert, besuchen Sie hier. IronZIP bietet eine kostenlose Testlizenz, die eine großartige Gelegenheit bietet, IronZIP und seine Funktionen kennenzulernen.
Iron Software hat verschiedene andere Bibliotheken. Entdecken Sie sie, um mehr Wissen zu gewinnen und Ihre Fähigkeiten zu aktualisieren, um moderne Anwendungen zu programmieren/entwickeln.
Häufig gestellte Fragen
Wie öffne ich eine ZIP-Datei in C#?
Sie können eine ZIP-Datei in C# mit der System.IO.Compression-Bibliothek öffnen. Alternativ bietet IronZIP erweiterte Funktionen zum Handhaben von ZIP-Dateien, was einen einfacheren und effizienteren Weg zur Verwaltung Ihrer Archive bietet.
Wie kann ich Dateien aus einem ZIP-Archiv mit C# extrahieren?
Mit IronZIP können Sie Dateien aus einem ZIP-Archiv mit der IronArchive.ExtractArchiveToDirectory-Methode extrahieren. Diese Methode erfordert, dass Sie die ZIP-Datei und das Zielverzeichnis für die Extraktion angeben.
Was sind die Vorteile der Verwendung von ZIP-Dateien in der Anwendungsentwicklung?
ZIP-Dateien verringern die Dateigröße, was zu schnelleren Übertragungszeiten führt, und ermöglichen es, mehrere Dateien in einem einzigen Archiv zusammenzufassen. IronZIP erweitert diese Vorteile mit zusätzlichen Funktionen wie der Spezifikation von Kompressionsverhältnissen und der Unterstützung mehrerer Formate.
Wie füge ich Dateien zu einem vorhandenen ZIP-Archiv in C# hinzu?
Um Dateien zu einem vorhandenen ZIP-Archiv mit IronZIP hinzuzufügen, nutzen Sie die IronArchive.FromFile-Methode, um das Archiv zu öffnen, und verwenden Sie dann die Add-Methode, um neue Dateien hinzuzufügen. Speichern Sie das aktualisierte Archiv, um den Vorgang abzuschließen.
Kann ich eine neue ZIP-Datei erstellen und Dateien mit IronZIP hinzufügen?
Ja, mit IronZIP können Sie eine neue ZIP-Datei erstellen, indem Sie den Archivpfad angeben und Dateien mit der Add-Methode hinzufügen. Das Archiv wird dann mit der SaveAs-Methode gespeichert.
Wie kann ich IronZIP mit dem NuGet-Paket-Manager installieren?
Um IronZIP über den NuGet-Paket-Manager zu installieren, öffnen Sie den Projektmanager in Visual Studio, suchen Sie nach IronZIP, wählen Sie die neueste Version und klicken Sie auf Installieren. Dadurch wird IronZIP zu Ihrem Projekt hinzugefügt, sodass Sie ZIP-Dateien verwalten können.
Unterstützt IronZIP mehrere Kompressionsformate?
Ja, IronZIP unterstützt mehrere Kompressionsformate, einschließlich ZIP, TAR, GZIP und BZIP2, und bietet Flexibilität für verschiedene Anwendungsanforderungen.
Gibt es eine kostenlose Testversion für IronZIP?
Ja, IronZIP bietet eine kostenlose Testversion für Entwickler. Sie können sich auf der Iron Software-Website registrieren, um auf die Testversion zuzugreifen, ohne eine Kreditkarte zu benötigen.
Was macht IronZIP zu einer geeigneten Wahl für die moderne Anwendungsentwicklung?
IronZIP ist bekannt für seine Benutzerfreundlichkeit, Geschwindigkeit und plattformübergreifende Kompatibilität. Diese Merkmale, zusammen mit seinen erweiterten Funktionen, machen es zu einer idealen Wahl für die moderne Anwendungsentwicklung.




