IRONZIP VERWENDEN

Öffnen einer Zip-Datei in C#

Veröffentlicht 4. Januar 2024
Teilen Sie:

ZIP ist ein Dateisystemformat für Archiveinträge, das eine verlustfreie Datenkompression unterstützt. Eine ZIP-Datei kann eine oder mehrere Dateien oder Verzeichnisse enthalten, die möglicherweise komprimiert wurden. Das ZIP-Dateiformat erlaubt mehrere Komprimierungsalgorithmen, wobei DEFLATE der gängigste ist. Das ZIP-Format wurde dann schnell von vielen Software-Dienstprogrammen unterstützt. Die führenden Betriebssystemanbieter unterstützen ZIP-Archive schon seit langem. Microsoft unterstützt ZIP-Dateien bereits seit Windows 98, und die anderen Hersteller folgten diesem Beispiel.

In diesem Blog werden wir eine moderne, einfache und effiziente Methode zum Öffnen von ZIP-Archivdateien oder extrahierten Dateien mitIronZIP. Wir werden uns mit ZIP-Dateien im Allgemeinen und ihren Vorteilen befassen. Anschließend werden die im Systemnamensraum verfügbaren Optionen für die Arbeit mit dem ZIP-Dateiformat vorgestellt. Anschließend wird Schritt für Schritt erklärt, wie Sie die ZIP-Datei öffnen, die ZIP-Datei in einen temporären Ordner entpacken, eine neue ZIP-Datei erstellen und Dateien zu bestehenden ZIP-Dateien hinzufügen.

Vorteile der Verwendung von ZIP-Dateien in Softwareanwendungen

  1. Komprimierung: Diese Technik reduziert die Größe der archivierten Dateien/Ordner mithilfe verschiedener Komprimierungsalgorithmen wie Implode, Deflate, Deflate64, bzip2, LZMA, WavPack, PPMd usw.

  2. Verkürzte Übertragungszeit: Kleinere Dateigrößen bedeuten schnellere Übertragungszeiten, insbesondere beim Versenden von Dateien über das Internet. Dies ist besonders vorteilhaft für E-Mail-Anhänge und das Hoch- oder Herunterladen von Dateien von Websites.

  3. Konsolidierung von Dateien: Mit ZIP-Dateien können Sie mehrere Dateien in einem einzigen Archiv zusammenfassen und so die Anzahl der zu verwaltenden Dateien reduzieren. Dies ist nützlich, um Projekte zu organisieren oder Software zu verteilen, die aus mehreren Dateien besteht.

  4. Passwort Schutz: Viele ZIP-Dienstprogramme bieten die Möglichkeit, das Archiv mit einem Kennwort zu schützen, um die Sicherheit Ihrer Dateien zu erhöhen. Dies ist nützlich, wenn Sie den Zugriff auf den Inhalt der ZIP-Datei einschränken möchten.

Erstellen von ZIP-Archiven und Extrahieren von ZIP-Dateien mit IronZIP

Eine Einführung in die IronZIP-Bibliothek und die Dokumentation finden Sie unterhier. In C#-Anwendungen können ZIP-Dateien auf verschiedene Weise erstellt und extrahiert werden. Das IronZIP NuGet-Paket verfügt über alle Funktionen zum Archivieren von Dateien in den Formaten ZIP, TAR, GZIP und BZIP2. Im Folgenden finden Sie Beispiele für die Verwendung von IronZIP in der modernen Anwendungsprogrammierung zur Erstellung von Anwendungen der nächsten Generation zum Öffnen von ZIP-Dateien, Extrahieren von ZIP-Dateien, Erstellen neuer ZIP-Dateien usw.

Schritt 1. .NET Core-Konsolenanwendung erstellen

Projekt erstellen

.NET-Konsolenanwendung kann mit Visual Studio erstellt werden. Öffnen Sie Visual Studio und wählen Sie Projekt erstellen. Hier sehen Sie verschiedene Vorlagen, um ein Projekt zu erstellen. Der einfachste Weg, den Code zu demonstrieren oder zu testen, ist die Erstellung einer Konsolenanwendung. Wir werden die Projektvorlage Console App auswählen.

Wie man eine Zip-Datei in C# öffnet: Abbildung 1 - Neues Projekt

Geben Sie den Projektnamen ein

Im folgenden Fenster können Sie den Projektnamen, den Speicherort des Projekts im Dateisystem und schließlich den Pfad zum Lösungsordner eingeben. Sie können den Projektmappen- und den Projektordner identisch halten oder sie in verschiedenen Ordnern unterbringen.

Wie öffnet man eine Zip-Datei in C#: Abbildung 2 - Projekt konfigurieren

.NET-Framework-Version auswählen

Der nächste Schritt ist die Auswahl der .NET-Framework-Version für das Projekt. Wenn Sie in einer bestimmten Version entwickeln möchten, geben Sie die gewünschte Version an, ansonsten wählen Sie immer die neueste stabile Version, um ein Projekt zu erstellen. Die neueste Version können Sie von der Microsoft-Website herunterladen. Klicken Sie dann auf Erstellen, um die Konsolenanwendung zu erstellen.

Wie man eine Zip-Datei in C# öffnet: Abbildung 3 - Ziel-Framework

Dadurch wird das Standardprojekt aus der Vorlage erstellt und die Projekt- und Lösungsdateien in den angegebenen Verzeichnissen gespeichert. Sobald das Projekt erstellt ist, wird es ähnlich wie unten aussehen. Manchmal wird die Klasse in der program.cs in den neuesten Versionen nicht verwendet.

using System;
// See https://aka.ms/new-console-template for more information
Console.WriteLine("Hello, World!");
namespace MyApp // Note: actual namespace depends on the project name.
{
    internal class Program
    {
        static void Main(string [] args)
        {
            Console.WriteLine("Hello World!");
        }
    }
}
using System;
// See https://aka.ms/new-console-template for more information
Console.WriteLine("Hello, World!");
namespace MyApp // Note: actual namespace depends on the project name.
{
    internal class Program
    {
        static void Main(string [] args)
        {
            Console.WriteLine("Hello World!");
        }
    }
}
Imports System
' See https://aka.ms/new-console-template for more information
Console.WriteLine("Hello, World!")
Dim MyApp As namespace ' Note: actual namespace depends on the project name.
If True Then
'INSTANT VB TODO TASK: Local functions are not converted by Instant VB:
'	internal class Program
'	{
'		static void Main(string [] args)
'		{
'			Console.WriteLine("Hello World!");
'		}
'	}
End If
VB   C#

Um eine neue ZIP-Datei zu erstellen und alle ZIP-Archivdateien zu extrahieren, können wir System.IO.Compression aus den Standardbibliotheken verwenden. In dem obigen CodezipFile.OpenRead undzipFile.Open statische Methoden können zum Öffnen von ZIP-Dateien oder zum Extrahieren von ZIP-Dateien verwendet werden.

using System.IO.Compression;  
Console.WriteLine("-----------Zip - Unzip-----------");
static void AddEntry(string filePath, 
System.IO.Compression.ZipArchive zipArchive)
{
    var file = Path.GetFileName(filePath); // get file name in var file
    zipArchive.CreateEntryFromFile(filePath, file);
}
var zip = "myFile.zip";
using (System.IO.Compression.ZipArchive archive = ZipFile.OpenRead(zip,     ZipArchiveMode.Create))
{
    AddEntry(file1, archive);
    AddEntry(file2, archive);
}
var dirToExtract = "extract";
if (Directory.Exists(dirToExtract) == false)
{
    Directory.CreateDirectory(dirToExtract);
}
ZipFile.ExtractToDirectory(zip, dirToExtract); //extracted file
using System.IO.Compression;  
Console.WriteLine("-----------Zip - Unzip-----------");
static void AddEntry(string filePath, 
System.IO.Compression.ZipArchive zipArchive)
{
    var file = Path.GetFileName(filePath); // get file name in var file
    zipArchive.CreateEntryFromFile(filePath, file);
}
var zip = "myFile.zip";
using (System.IO.Compression.ZipArchive archive = ZipFile.OpenRead(zip,     ZipArchiveMode.Create))
{
    AddEntry(file1, archive);
    AddEntry(file2, archive);
}
var dirToExtract = "extract";
if (Directory.Exists(dirToExtract) == false)
{
    Directory.CreateDirectory(dirToExtract);
}
ZipFile.ExtractToDirectory(zip, dirToExtract); //extracted file
Imports System.IO.Compression
Console.WriteLine("-----------Zip - Unzip-----------")
'INSTANT VB TODO TASK: Local functions are not converted by Instant VB:
'static void AddEntry(string filePath, System.IO.Compression.ZipArchive zipArchive)
'{
'	var file = Path.GetFileName(filePath); ' get file name in var file
'	zipArchive.CreateEntryFromFile(filePath, file);
'}
Dim zip = "myFile.zip"
Using archive As System.IO.Compression.ZipArchive = ZipFile.OpenRead(zip, ZipArchiveMode.Create)
	AddEntry(file1, archive)
	AddEntry(file2, archive)
End Using
Dim dirToExtract = "extract"
If Directory.Exists(dirToExtract) = False Then
	Directory.CreateDirectory(dirToExtract)
End If
ZipFile.ExtractToDirectory(zip, dirToExtract) 'extracted file
VB   C#

Im obigen Code haben wir eine ZIP-Datei mit dem Namen myFile.zip, und wir verwenden den System-Namensraum. die Methode OpenRead wird verwendet, um die ZIP-Datei im angegebenen Modus zu öffnen. Dies kann auch zum Erstellen neuer ZIP-Archivdateien verwendet werden. Nach dem Öffnen können wir mit der Methode AddEntry einen neuen Archiveintrag hinzufügen, und dann extrahiert ExtractToDirectory ZIP-Archivdateien oder ausgewählte Dateien in das angegebene Verzeichnis. Es wird geprüft, ob das Verzeichnis existiert. Wenn es nicht existiert, wird ein Verzeichnis mit Directory.CreateDirectory erstellt. dirToExtract ist der Verzeichnispfad zum Extrahieren von ZIP-Archivdateien. Die letzte Zeile des Codes ZipFile.ExtractToDirectory(zip, dirToExtract) extrahiert eine ZIP-Datei. Alle Dateien werden im Verzeichnispfad gespeichert.

Schritt 2. Installation von IronZIP mit dem NuGet-Paketmanager

Öffnen Sie den Projektmanager von Visual Studio und suchen Sie nach dem IronZIP-Paket. Wählen Sie dann die neueste Version aus und klicken Sie auf Installieren. Sie können die zu installierende Version in der Dropdown-Liste ändern. Klicken Sie dann auf Installieren.

Wie öffnet man eine Zip-Datei in C#: Abbildung 4 - NuGet-Paketmanager

Erstellen einer ZIP-Archivdatei und Hinzufügen von Dateien mit IronZIP

Wie öffnet man eine Zip-Datei in C#: Abbildung 5 - IronZIP

IronZIP ist eine Bibliothek zur Komprimierung und Dekomprimierung von Archiven, die vonIron Software. Neben dem weit verbreiteten ZIP-Format kann es auch TAR, GZIP und BZIP2 verarbeiten.

IronZIP ist eine C#-ZIP-Archivbibliothek, bei der Genauigkeit, Benutzerfreundlichkeit und Geschwindigkeit im Vordergrund stehen. Die benutzerfreundliche API ermöglicht es Entwicklern, modernen .NET-Projekten in wenigen Minuten Archivfunktionen hinzuzufügen.

IronZIP hat viele Vorteile gegenüber der Bibliothek System.Io.Compression. Sie können das gewünschte Komprimierungsverhältnis während der Komprimierung angeben und auch verschiedene Komprimierungsalgorithmen ZIP, TAR, GZIP, BZIP2 verwenden. Es unterstützt auch Mobil-, Web- und Desktop-Plattformen und verschiedene .NET-Versionen.

Erstellen einer ZIP-Archivdatei und Hinzufügen von Dateien mit IronZIP

IronZIP hat die Klasse IronArchive, die zum Erstellen von ZIP-Dateien und zum Extrahieren von ZIP-Dateien verwendet werden kann und auch die Erstellung von TAR-, GZIP- und BZIP2-Archivdateien mit einer einzigen Bibliothek unterstützt. Nachfolgend ist der Code zum Erstellen einer ZIP-Datei aufgeführt. die Klasse "IronArchive" erstellt/öffnet ZIP-Dateien, und dann wird die Methode "archive.`Add" verwendet, um dem Archiv Dateieinträge hinzuzufügen (siehe unten).

// setup
var archivePath= "ironZip.zip";
if (File.Exists(archivePath))
{
    File.Delete(archivePath);
}
// zip file
using (var archive = new IronZipArchive(9))
{
    // Add files to the zip 
    archive.Add(file1);
    archive.Add(file2);
    archive.SaveAs(archivePath);
}
// setup
var archivePath= "ironZip.zip";
if (File.Exists(archivePath))
{
    File.Delete(archivePath);
}
// zip file
using (var archive = new IronZipArchive(9))
{
    // Add files to the zip 
    archive.Add(file1);
    archive.Add(file2);
    archive.SaveAs(archivePath);
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
VB   C#

Der ursprüngliche Quellcode enthält die erforderlichen Einstellungen, um den Namen der ZIP-Archivdatei anzugeben und zu prüfen, ob das angegebene Verzeichnis existiert. Dann archivieren wir die Dateien, um mit der Methode "Hinzufügen" eine ZIP-Datei zu erstellen. Der zweite Parameter im Komprimierungsparameter ist 1 für niedriger und 9 für höher. txt-Dateien können ohne Verlust auf maximal 9 komprimiert werden und Bilddateien können eine geringere Komprimierung verwenden, um Datenverluste zu vermeiden.

Öffnen Sie die ZIP-Archivdatei mit IronZIP

die Klasse "IronArchive" kann auch verwendet werden, um die Dateien aus der ZIP-Archivdatei zu extrahieren. Alle Dateien werden mit der IronArchive-Klasse "ExtractArchiveToDirectory" extrahiert, die dabei hilft, alle Dateien in bestimmte Verzeichnisse zu extrahieren (siehe unten).

var extractionPath = "IronZipFiles";
// extract files from zip
if (Directory.Exists(extractionPath) == false)
{
    Directory.CreateDirectory(extractionPath);
}
IronArchive.ExtractArchiveToDirectory(archivePath, extractionPath);
var extractionPath = "IronZipFiles";
// extract files from zip
if (Directory.Exists(extractionPath) == false)
{
    Directory.CreateDirectory(extractionPath);
}
IronArchive.ExtractArchiveToDirectory(archivePath, extractionPath);
Dim extractionPath = "IronZipFiles"
' extract files from zip
If Directory.Exists(extractionPath) = False Then
	Directory.CreateDirectory(extractionPath)
End If
IronArchive.ExtractArchiveToDirectory(archivePath, extractionPath)
VB   C#

Der obige Code extrahiert ZIP-Dateien in ein Verzeichnis. Der Code prüft, ob das Verzeichnis vorhanden ist, und extrahiert die ZIP-Archivdatei in das angegebene Verzeichnis.

Lizenzierung (kostenlose Testversion verfügbar)

Damit der obige Code funktioniert, ist ein Lizenzschlüssel erforderlich. Dieser Schlüssel muss in appsettings.json platziert werden

"IronZip.LicenseKey": "your lincese key"
"IronZip.LicenseKey": "your lincese key"
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'"IronZip.LicenseKey": "your lincese key"
VB   C#

Eine Testlizenz ist für Entwickler verfügbar, die sich registrieren möchtenhier und ja, für eine Testlizenz ist keine Kreditkarte 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 vonIronZIP um ein vorhandenes Archiv zu öffnen. Bei dieser Methode muss auch der Dateiname des neuen Archivs angegeben werden, das als Ausgabe erstellt werden soll.

//add to existing archive
const string file3 = ".\\image3.png";
var archivePlusPath = "ironZipPlus.zip";
using (var file = IronArchive.FromFile(archivePath, archivePlusPath))
{
    // Add files
    file.Add(file3);
}
//add to existing archive
const string file3 = ".\\image3.png";
var archivePlusPath = "ironZipPlus.zip";
using (var file = IronArchive.FromFile(archivePath, archivePlusPath))
{
    // Add files
    file.Add(file3);
}
'add to existing archive
Const file3 As String = ".\image3.png"
Dim archivePlusPath = "ironZipPlus.zip"
Using file = IronArchive.FromFile(archivePath, archivePlusPath)
	' Add files
	file.Add(file3)
End Using
VB   C#

Der Code verwendet die statische ungültige Methode IronArchive.FromFile, um die vorhandene ZIP-Datei zu öffnen und dann die neue Datei als Archiveintrag hinzuzufügen. Sobald die Datei entsorgt ist, wird sie erfolgreich gespeichert.

Aktualisierungen

Die IronZIP-Bibliothek wird auf der Grundlage der Rückmeldungen von Kunden/Benutzern laufend aktualisiert; alle Aktualisierungen finden Sie unterhier.

Schlussfolgerung

Zusammenfassend lässt sich sagen, dass die Programmierung von ZIP-Dateien in der modernen Anwendungsentwicklung, in der Speicher- und Datenübertragungskosten von den Cloud-Host-Anbietern erhoben werden, eine wesentliche Fähigkeit darstellt. Die Kenntnis dieser Fähigkeit kann Programmierern helfen, die Kosten der Anwendung zu senken und die Leistung der Anwendung zu verbessern.

Wenn Sie die Installationsschritte befolgen und die mitgelieferten Code-Beispiele erkunden, können Entwickler schnell die Leistungsfähigkeit vonIronZIP um neue Dateien zu erstellen und Zip/Unzip-Aufgaben mit Leichtigkeit zu erledigen. Da immer mehr Anwendungen modernisiert und in die Cloud verlagert werden, ist eine zuverlässige ZIP-Bibliothek wieIronZIP stattet C#-Entwickler mit den notwendigen Werkzeugen aus, um den Anforderungen der modernen Anwendungsentwicklung gerecht zu werden. Machen Sie sich also die Macht derIronZIP und erschließen Sie neue Möglichkeiten für die Arbeit mit ZIP-Dateien in Ihren C#-Anwendungen.

IronZIP bietet umfassende Unterstützung für seine Entwickler. Mehr darüber erfahren, wieIronZIP für C# Arbeiten besuchen Sie hier. IronZIP bietet eine kostenlose Testlizenz an, die eine gute Gelegenheit ist, dieIronZIP und seine Merkmale.

Iron Software verfügt über verschiedene andere Bibliotheken, erforschen Sie diese, um mehr Wissen zu erlangen und Ihre Fähigkeiten zur Programmierung/Entwicklung moderner Anwendungen zu aktualisieren.

< PREVIOUS
Wie man Dateien in .NET Core entpackt
NÄCHSTES >
Erstellen einer Zip-Datei in C# .NET Core

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

Gratis NuGet-Download Downloads insgesamt: 5,846 Lizenzen anzeigen >