Dateien in einem ZIP-Archiv in C# .NET löschen

Während Sie mit Archiven in Ihren .NET-Anwendungen arbeiten, müssen Sie möglicherweise Dateien in einem ZIP manipulieren. Im vorherigen Beitrag haben Sie gesehen, wie Sie Dateien/Ordner in einem ZIP-Archiv hinzufügen. In diesem Artikel erfahren Sie, wie Sie Dateien in den ZIP-Archiven programmgesteuert in C# löschen. Fangen wir also an.

C# .NET-API zum Löschen von Dateien in ZIP-Archiven

Aspose.ZIP for .NET ist eine leistungsstarke API, die eine breite Palette von Archivierungsfunktionen bietet. Sie können damit Archive gängiger Formate wie ZIP, TAR, 7z und GZip erstellen und bearbeiten. Wir werden diese API verwenden, um die Dateien in ZIP-Archiven dynamisch zu löschen. Sie können die API entweder von NuGet installieren oder die DLL herunterladen und manuell darauf verweisen.

PM> Install-Package Aspose.Zip 

Dateien in ZIP-Archiven in C# löschen

Es gibt zwei Möglichkeiten, Dateien in einem ZIP-Archiv mit Aspose.ZIP für .NET zu löschen. Einer verwendet den Index der Datei, während der andere die Klasse ArchiveEntry verwendet. Sehen wir uns an, wie Sie die beiden oben genannten Methoden verwenden.

Löschen Sie eine Datei in ZIP mit ArchiveEntry

Aspose.ZIP für .NET stellt jede Datei/jeden Ordner innerhalb einer ZIP-Datei als ein ArchiveEntry-Objekt dar, und alle Dateien und Ordner bilden eine Sammlung von ArchiveEntry-Objekten. Um eine Datei aus ZIP zu löschen, können Sie also auf das entsprechende ArchiveEntry-Objekt aus der Sammlung zugreifen und es löschen. Im Folgenden sind die Schritte zum Löschen einer Datei aus einem ZIP-Archiv in C# aufgeführt.

Das folgende Codebeispiel zeigt, wie Dateien in einem ZIP-Archiv in C# gelöscht werden.

// Laden Sie das ZIP-Archiv
using (var archive = new Archive("Archives/archive.zip"))
{
    // Liste zum Aufbewahren von Dateien, die gelöscht werden sollen
    List<ArchiveEntry> entriesToDelete = new List<ArchiveEntry>();

    // Durchlaufen Sie die ZIP-Einträge
    foreach(ArchiveEntry entry in archive.Entries)
    {
        // Datei/Ordner zur Liste hinzufügen
        if(entry.Name.ToLower().Contains("source"))
        {
            entriesToDelete.Add(entry);
        }
    } 

    // Alle aufgelisteten Einträge löschen
    foreach(var entry in entriesToDelete)
    {
        archive.DeleteEntry(entry);
    }

    // Aktualisiertes Archiv speichern
    archive.Save("Archives/updated-archive.zip");
}

Löschen Sie eine Datei in ZIP mit Index

Sie können die ZIP-Einträge auch über ihren Index löschen. Im Folgenden sind die Schritte zum Entfernen einer Datei/eines Ordners aus einem ZIP-Archiv mithilfe seines Index aufgeführt.

Das folgende C#-Codebeispiel zeigt, wie eine Datei in einem ZIP-Archiv mithilfe ihres Index entfernt wird.

// Laden Sie das ZIP-Archiv
using (var archive = new Archive("Archives/archive.zip"))
{
    // Datei nach Index löschen
    archive.DeleteEntry(0);

    // Aktualisiertes Archiv speichern
    archive.Save("Archives/updated-archive.zip");
}

Holen Sie sich eine kostenlose API-Lizenz

Sie können Aspose.ZIP für .NET ohne Evaluierungseinschränkungen verwenden, indem Sie eine kostenlose temporäre Lizenz erwerben.

Fazit

In diesem Artikel haben Sie gelernt, wie Sie Dateien aus ZIP-Archiven in C# löschen. Anhand von Codebeispielen haben wir gesehen, wie man Dateien über die ArchiveEntry-Klasse oder den Index löscht. Falls Sie mehr über Aspose.ZIP für .NET erfahren möchten, besuchen Sie Dokumentation. Sie können Ihre Fragen auch über unser Forum stellen.

Siehe auch