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#.
- Načtěte archiv ZIP pomocí třídy Archive.
- Procházejte záznamy v kolekci Archive.Entries.
- Filtrujte požadované soubory/složky a přidejte je do seznamu.
- Vymažte každou položku v seznamu pomocí metody Archive.DeleteEntry(ArchvieEntry).
- Uložte aktualizovaný archiv ZIP pomocí metody Archive.Save(string).
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.
- Načtěte archiv ZIP pomocí třídy Archiv.
- Smažte soubor zadáním indexu v metodě Archive.DeleteEntry(int).
- Uložte aktualizovaný archiv ZIP pomocí metody Archive.Save(string).
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.