Odstraňte soubory v archivu ZIP v C# .NET

Při práci s archivy z vašich aplikací .NET možná budete muset manipulovat se soubory uvnitř ZIP. V předchozím příspěvku jste viděli, jak přidat soubory/složky do archivu ZIP. V tomto článku se dozvíte, jak smazat soubory uvnitř archivů ZIP programově v C#. Tak začněme.

Odstraňte soubory v ZIP pomocí C# - Instalace API

Aspose.ZIP for .NET je výkonné rozhraní API, které poskytuje širokou škálu funkcí archivace. Umožňuje vytvářet a manipulovat s archivy oblíbených formátů včetně ZIP, TAR, 7z a GZip. Toto rozhraní API použijeme k dynamickému mazání souborů v archivech ZIP. Můžete buď nainstalovat API z NuGet nebo stáhnout DLL a odkazovat na něj ručně.

PM> Install-Package Aspose.Zip 

C# Odstraňte soubory v archivu ZIP

Existují dva způsoby, jak odstranit soubory v archivu ZIP pomocí Aspose.ZIP pro .NET. Jeden používá index souboru, zatímco druhý používá třídu ArchiveEntry. Podívejme se, jak používat obě výše uvedené metody.

Odstraňte soubor v ZIP pomocí ArchiveEntry

Aspose.ZIP for .NET představuje každý soubor/složku uvnitř ZIP jako objekt ArchiveEntry a všechny soubory a složky tvoří kolekci objektů ArchiveEntry. Chcete-li tedy odstranit soubor ze ZIP, můžete získat přístup k příslušnému objektu ArchiveEntry z kolekce a odstranit jej. Níže jsou uvedeny kroky k odstranění souboru z archivu ZIP v C#.

Následující ukázka kódu ukazuje, jak odstranit soubory v archivu ZIP v C#.

// Načtěte archiv ZIP
using (var archive = new Archive("Archives/archive.zip"))
{
    // Seznam souborů, které mají být smazány
    List<ArchiveEntry> entriesToDelete = new List<ArchiveEntry>();

    // Procházejte záznamy ZIP
    foreach(ArchiveEntry entry in archive.Entries)
    {
        // Přidejte soubor/složku do seznamu
        if(entry.Name.ToLower().Contains("source"))
        {
            entriesToDelete.Add(entry);
        }
    } 

    // Smažte všechny uvedené položky
    foreach(var entry in entriesToDelete)
    {
        archive.DeleteEntry(entry);
    }

    // Uložit aktualizovaný archiv
    archive.Save("Archives/updated-archive.zip");
}

C# Odeberte soubor v ZIP pomocí indexu

Položky ZIP můžete také odstranit pomocí jejich indexu. Následují kroky k odstranění souboru/složky z archivu ZIP pomocí jeho indexu.

Následující ukázka kódu C# ukazuje, jak odstranit soubor v archivu ZIP pomocí jeho indexu.

// Načtěte archiv ZIP
using (var archive = new Archive("Archives/archive.zip"))
{
    // Odstraňte soubor podle jeho indexu
    archive.DeleteEntry(0);

    // Uložit aktualizovaný archiv
    archive.Save("Archives/updated-archive.zip");
}

C# API pro odstranění souborů v ZIP - Získejte bezplatnou licenci

Soubory v archivech ZIP můžete odstraňovat bez omezení hodnocení získáním bezplatné dočasné licence.

Závěr

V tomto článku jste se naučili, jak odstranit soubory z archivů ZIP v C#. S pomocí ukázek kódu jsme viděli, jak odstranit soubory pomocí třídy ArchiveEntry nebo indexu. V případě, že se chcete dozvědět více o Aspose.ZIP pro .NET, můžete navštívit dokumentace. Také se můžete ptát na naše fórum.

Viz také