Vytvoření ZIP v C#

Úvod do ZIP archivů v C#

ZIP archivy jsou nezbytné pro kompresi a organizaci souborů a složek do jednoho spravovatelného kontejneru. Nejenže snižují velikosti souborů pro efektivní ukládání a přenos, ale také zachovávají metadata a mohou být šifrovány pro zvýšenou bezpečnost. V tomto článku se budeme zabývat různými metodami, jak programaticky vytvářet ZIP soubory v C#, včetně toho, jak přidávat soubory a složky, vytvářet archivy chráněné heslem a aplikovat AES šifrování.

Co se naučíte

V tomto článku se dozvíte, jak:

C# ZIP knihovna

Knihovna Aspose.ZIP pro .NET je robustní nástroj pro manipulaci se ZIP soubory v aplikacích .NET, což usnadňuje zipování nebo rozbalování souborů a složek. Také podporuje AES šifrování pro zvýšenou bezpečnost. Tuto knihovnu můžete snadno nainstalovat z NuGet nebo stáhnout binární soubory z sekce Downloads.

Vytvoření ZIP archivu v C#

Pro programatické vytvoření ZIP souboru v C# postupujte podle těchto kroků:

  1. Vytvořte objekt FileStream pro výstupní ZIP archiv.
  2. Otevřete zdrojový soubor jako objekt FileStream.
  3. Instancujte třídu Archive.
  4. Přidejte soubor do archivu pomocí metody Archive.CreateEntry(string, FileStream).
  5. Uložte ZIP archiv pomocí metody Archive.Save(FileStream).

Zde je ukázka kódu, která demonstruje, jak přidat soubor do ZIP archivu v C#:

Přidání více souborů do ZIP archivu v C#

Když potřebujete přidat více souborů do ZIP archivu, existuje několik přístupů, které můžete zvolit:

Použití FileStream pro přidání více souborů

Tato metoda využívá třídu FileStream k přidání souborů do ZIP archivu pomocí metody Archive.CreateEntry(String, FileStream). Zde je, jak to můžete udělat:

Použití FileInfo pro více souborů

Alternativně můžete využít třídu FileInfo k načtení souborů a jejich přidání do ZIP archivu pomocí metody Archive.CreateEntry(String, FileInfo). Níže je ukázka kódu:

Použití cest k souborům

Můžete také přímo poskytnout cesty k souborům metodě Archive.CreateEntry(String name, String path, Boolean openImmediately, ArchiveEntrySettings newEntrySettings). Zde je příklad:

Přidání složek do ZIP archivu v C#

Pro přidání složky do ZIP archivu v C# postupujte podle těchto kroků:

  1. Vytvořte objekt FileStream pro výstupní ZIP archiv.
  2. Instancujte třídu Archive.
  3. Použijte třídu DirectoryInfo k určení složky, kterou chcete zipovat.
  4. Přidejte složku do ZIP pomocí metody Archive.CreateEntries(DirectoryInfo).
  5. Uložte ZIP archiv pomocí metody Archive.Save(FileStream).

Zde je ukázka kódu, která ilustruje, jak přidat složku do ZIP souboru:

Vytvoření ZIP souboru chráněného heslem pomocí ZipCrypto v C#

Pro zabezpečení vašich ZIP archivů můžete aplikovat ochranu heslem pomocí šifrování ZipCrypto. Toho dosáhnete využitím třídy ArchiveEntrySettings v konstruktoru třídy Archive, která přijímá typ šifrování jako parametr.

Zde je, jak vytvořit ZIP archiv chráněný heslem pomocí ZipCrypto v C#:

Vytvoření ZIP souboru chráněného heslem s AES šifrováním

Knihovna Aspose.ZIP pro .NET také podporuje AES šifrování pro ochranu ZIP archivů. Můžete si vybrat z následujících metod AES šifrování:

  • AES128
  • AES192
  • AES256

Pro aplikaci AES šifrování použijte třídu AesEcryptionSettings. Níže je ukázka kódu, která demonstruje, jak vytvořit ZIP chráněný heslem s AES šifrováním v C#:

Nastavení paralelního kompresního režimu

Pro efektivní zpracování více položek můžete nakonfigurovat API pro paralelní kompresi pomocí třídy ParallelOptions. Dostupné režimy paralelní komprese jsou:

  • Nikdy - Neprovádět kompresi paralelně.
  • Vždy - Provádět kompresi paralelně (buďte opatrní na potenciální problémy s pamětí).
  • Automaticky - Automaticky rozhodnout, zda použít paralelní kompresi na základě položek.

Zde je, jak nastavit paralelní kompresní režim při zipování více souborů s knihovnou Aspose C# ZIP:

Další informace o C# .NET ZIP knihovně

Pro prohloubení vašeho porozumění C# ZIP knihovně prozkoumejte následující zdroje:

Vyzkoušejte náš online nástroj pro kompresi ZIP

Můžete také experimentovat s naší bezplatnou online aplikací založenou na Aspose.ZIP pro .NET pro snadnou kompresi souborů do ZIP archivů.

Závěr

V tomto článku jste se naučili, jak programaticky vytvářet ZIP archivy v C#. Poskytnuté ukázky kódu demonstrují, jak přidávat soubory a složky do ZIP archivů, vytvářet ZIP soubory chráněné heslem pomocí metod ZipCrypto a AES šifrování, a konfigurovat paralelní kompresi. Pokud máte jakékoli dotazy nebo potřebujete další pomoc, neváhejte se obrátit na naše forum.

Viz také

Unrar nebo extrahovat soubory pomocí C#Rozbalit soubory v ZIP archivech pomocí C#Vytvořit 7z (7-Zip) archivy v C# .NET
Otevřít nebo extrahovat 7z (7zip) soubor v C# .NETVytvořit a extrahovat GZip archivy pomocí C#Převést RAR soubory na ZIP archiv v C#
Převést ZIP archivy na TAR v C#Vytvořit plochý ZIP archiv v C#Vytvořit spustitelný samorozbalovací archiv v C#
Vytvořit TAR.GZ a TAR.XZ soubory v C#Smazat soubory v ZIP archivu v C#Extrahovat vnořené ZIP archivy v C#
Sloučit více ZIP nebo TAR archivů v C#Jak vytvořit ZIP souboryExtrahovat 7z online