Tworzenie archiwum 7Zip w C#

W poprzednim poście zbadaliśmy różne metody tworzenia archiwów ZIP za pomocą C#. Ten artykuł rozszerzy tę wiedzę, koncentrując się na formacie 7z, który oparty jest na architekturze open-source i oferuje wysoki współczynnik kompresji. Co ważne, 7z obsługuje szyfrowanie AES 256-bitowe, co pozwala zabezpieczyć nie tylko pliki, ale także ich nazwy.

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 następujących metod:

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

Możesz kompresować pliki do archiwum 7z w dwóch głównych scenariuszach: gdy masz do czynienia z pojedynczym plikiem lub wieloma plikami. Oto jak obsłużyć obie sytuacje.

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#, demonstrujący 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 stworzyć 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ład kodu, który demonstruje, jak stworzyć 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ład kodu, aby dowiedzieć się, jak ustawić różne hasła dla każdego wpisu w archiwum 7z:

Podsumowanie

W tym artykule omówiliśmy, jak programowo tworzyć archiwa 7z za pomocą C#. Zbadaliśmy również, jak wdrożyć szyfrowanie 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 obsługują dużą obsługę plików, asynchroniczną kompresję i wiele więcej.