Vytvořte archiv 7Zip v C#

V předchozím příspěvku jsme prozkoumali různé metody pro vytváření ZIP archivů pomocí C#. V tomto článku budeme na tomto základu stavět a zaměříme se na formát 7z. Formát 7z je založen na open-source architektuře a nabízí vysoký kompresní poměr, spolu s možností použít 256-bitové AES šifrování k zabezpečení jak souborů, tak jejich názvů.

Co se naučíte

V této příručce se naučíte, jak programaticky vytvářet archivy 7z (7-Zip) pomocí C#. Pokryjeme:

Všechny příklady a úryvky kódu jsou založeny na API Aspose.ZIP pro .NET. Ujistěte se, že máte API nainstalováno pomocí jedné z následujících metod:

Vytvoření archivu 7z (7-Zip) pomocí C#

Soubory můžete komprimovat do archivu 7z ve dvou hlavních scénářích: při práci s jedním souborem nebo více soubory. Zde je, jak se vypořádat s oběma situacemi.

Vytvoření archivu 7z s jedním záznamem

Chcete-li vytvořit archiv 7z s jedním souborem, postupujte podle těchto kroků:

  1. Otevřete nový FileStream pro vytvoření souboru 7z.
  2. Vytvořte instanci třídy SevenZipArchive.
  3. Přidejte soubor do archivu pomocí metody SevenZipArchive.CreateEntry(String, String, Boolean, SevenZipEntrySettings).
  4. Uložte archiv pomocí metody SevenZipArchive.Save(Stream).

Zde je příklad C# archivu 7z, který demonstruje výše uvedené kroky:

Vytvoření archivu 7z s více záznamy

Pokud potřebujete komprimovat více souborů, můžete je umístit do složky a předat cestu ke složce metodě SevenZipArchive.CreateEntries(). Postupujte podle těchto kroků:

  1. Vytvořte instanci třídy SevenZipArchive.
  2. Předávejte cestu ke složce metodě SevenZipArchive.CreateEntries(String, Boolean).
  3. Zavolejte metodu SevenZipArchive.Save(String).

Zde je, jak vytvořit archiv 7z s více záznamy pomocí C#:

Vytvoření AES šifrovaného archivu 7z pomocí C#

Formát 7z podporuje AES šifrování pro zvýšenou bezpečnost. Chcete-li šifrovat soubor 7z, použijte třídu SevenZipAESEncryptionSettings. Níže je ukázka kódu, která demonstruje, jak vytvořit AES šifrovaný archiv 7z pomocí C#:

Nastavení různých hesel pro záznamy 7z pomocí C#

Formát 7z vám také umožňuje přiřadit jedinečné heslo pro každý záznam souboru. Pokud komprimujete více souborů, můžete pro každý určit různá hesla. Zde je, jak to udělat:

  1. Vytvořte nový FileStream pro soubor archivu 7z.
  2. Přistupte k jednotlivým záznamům souboru pomocí třídy FileInfo.
  3. Vytvořte instanci třídy SevenZipArchive.
  4. Přidejte záznamy do archivu 7z pomocí metody SevenZipArchive.CreateEntry(String, FileInfo, Boolean, SevenZipEntrySettings).
  5. Uložte archiv pomocí metody SevenZipArchive.Save(Stream).

Podívejte se na následující ukázku kódu a zjistěte, jak nastavit různá hesla pro každý záznam v archivu 7z:

Závěr

V tomto článku jsme prozkoumali, jak programaticky vytvářet archivy 7z pomocí C#. Také jsme diskutovali o implementaci AES šifrování pro zvýšenou bezpečnost a jak nastavit jedinečná hesla pro každý záznam souboru. Pro další čtení o kompresi a dekompresi souborů můžete zkontrolovat dokumentaci Aspose.ZIP.

Související články

Využitím pluginu Aspose pro .NET můžete snadno integrovat .NET 7-Zip kompresi do svých aplikací, zjednodušit procesy správy souborů a zvýšit schopnosti vašeho softwaru. Za pouhých 99 $ můžete odemknout mocné funkce, které podporují práci s velkými soubory, asynchronní kompresi a další.