Tworzenie archiwum 7Zip w C#

W poprzednim poście zbadaliśmy różne metody tworzenia archiwów ZIP przy użyciu C#. W tym artykule rozszerzymy tę podstawę, koncentrując się na formacie 7z. Format 7z oparty jest na architekturze open-source i oferuje wysoki współczynnik kompresji, a także możliwość użycia szyfrowania AES 256-bit w celu zabezpieczenia zarówno plików, jak i ich nazw.

Czego się nauczysz

W tym przewodniku nauczysz się, jak programowo tworzyć archiwa 7z (7-Zip) za pomocą C#. Omówimy:

Wszystkie przykłady i fragmenty kodu opierają się na API Aspose.ZIP dla .NET. Upewnij się, że masz zainstalowane API, korzystając z jednej z poniższych metod:

Tworzenie archiwum 7z (7-Zip) za pomocą C#

Możesz skompresować pliki do archiwum 7z w dwóch podstawowych scenariuszach: przy pracy z pojedynczym plikiem lub wieloma plikami. Oto jak poradzić sobie z obiema sytuacjami.

Tworzenie archiwum 7z z pojedynczym wpisem

Aby stworzyć archiwum 7z z pojedynczym plikiem, wykonaj następujące kroki:

  1. Otwórz nowy FileStream, aby utworzyć plik 7z.
  2. Utwórz instancję klasy SevenZipArchive.
  3. Dodaj plik do archiwum, korzystając z metody SevenZipArchive.CreateEntry(String, String, Boolean, SevenZipEntrySettings).
  4. Zapisz archiwum, korzystając z metody SevenZipArchive.Save(Stream).

Oto przykład archiwum 7z w C#, który ilustruje powyższe kroki:

Tworzenie archiwum 7z z wieloma wpisami

Jeśli musisz skompresować wiele plików, możesz umieścić je w folderze i przekazać ścieżkę folderu do metody SevenZipArchive.CreateEntries(). Wykonaj następujące kroki:

  1. Utwórz instancję klasy SevenZipArchive.
  2. Przekaż ścieżkę folderu do metody SevenZipArchive.CreateEntries(String, Boolean).
  3. Wywołaj metodę SevenZipArchive.Save(String).

Oto, jak utworzyć archiwum 7z z wieloma wpisami za pomocą C#:

Tworzenie archiwum 7z z szyfrowaniem AES za pomocą C#

Format 7z obsługuje szyfrowanie AES dla dodatkowego bezpieczeństwa. Aby zaszyfrować plik 7z, użyj klasy SevenZipAESEncryptionSettings. Poniżej znajduje się przykładowy kod, który ilustruje, jak utworzyć archiwum 7z z szyfrowaniem AES za pomocą C#:

Ustawianie różnych haseł dla wpisów 7z za pomocą C#

Format 7z pozwala również przypisać unikalne hasło dla każdego wpisu pliku. Jeśli kompresujesz wiele plików, możesz określić różne hasła dla każdego z nich. Oto jak to zrobić:

  1. Utwórz nowy FileStream dla pliku archiwum 7z.
  2. Uzyskaj dostęp do każdego wpisu pliku za pomocą klasy FileInfo.
  3. Utwórz instancję klasy SevenZipArchive.
  4. Dodaj wpisy do archiwum 7z, korzystając z metody SevenZipArchive.CreateEntry(String, FileInfo, Boolean, SevenZipEntrySettings).
  5. Zapisz archiwum, korzystając z metody SevenZipArchive.Save(Stream).

Zobacz poniższy przykładowy kod, aby dowiedzieć się, jak ustawić różne hasła dla każdego wpisu w archiwum 7z:

Podsumowanie

W tym artykule zbadaliśmy, jak programowo tworzyć archiwa 7z za pomocą C#. Omówiliśmy również wdrażanie szyfrowania AES dla zwiększonego bezpieczeństwa oraz jak ustawić unikalne hasła dla każdego wpisu pliku. Aby uzyskać więcej informacji na temat kompresji i dekompresji plików, możesz zapoznać się z dokumentacją Aspose.ZIP.

Pokrewne artykuły

Korzystając z wtyczki Aspose dla .NET, możesz łatwo zintegrować kompresję .NET 7-Zip w swoich aplikacjach, uprościć procesy zarządzania plikami i zwiększyć możliwości swojego oprogramowania. Za jedyne 99 USD możesz odblokować potężne funkcje, które wspierają obsługę dużych plików, asynchroniczną kompresję i wiele więcej.