Create 7Zip Archive in C#

В предишен пост, разгледахме как да създадем ZIP архиви, използвайки C#. Сега ще преместим вниманието си към 7z format, който е известен с високото си съотношение за компресия и здрава 256-bit AES encryption възможности. Това прави библиотеката .NET 7z идеален избор за сигурно и ефективно обработване на архиви.

Какво ще научите

В това ръководство ще научите как да създаване на 7z (7-Zip) архиви програмно с C#. Ще разгледаме следните теми:

Ще използваме Aspose.ZIP for .NET API. Можете да инсталирате тази библиотека чрез:

Създайте 7z (7-Zip) архив, използвайки C#

Можете да компресирате файлове в 7z архив, подходящ за един файл и множество файлове сценарии. Тази функционалност предоставя икономично решение за разработчиците, търсещи .NET RAR инструмент за извличане.

Създайте 7z архив с един запис

За да създадете 7z архив с един файл, следвайте тези стъпки:

  1. Отворете нов FileStream за създаване на 7z файл.
  2. Създайте екземпляр на SevenZipArchive клас.
  3. Добавете файла, използвайки SevenZipArchive.CreateEntry.
  4. Запазете архива с SevenZipArchive.Save.

Ето един C# пример за илюстрация:

using Aspose.Zip.Saving;
using Aspose.Zip.SevenZip;
using (FileStream sevenZipFile = File.Open("archive.7z", FileMode.Create))
{
    FileInfo fi1 = new FileInfo("data1.bin");
    FileInfo fi2 = new FileInfo("data2.bin");
    FileInfo fi3 = new FileInfo("data3.bin");
    using (var archive = new SevenZipArchive())
    {
        archive.CreateEntry("entry1.bin", fi1, false, new SevenZipEntrySettings(new SevenZipStoreCompressionSettings(), new SevenZipAESEncryptionSettings("test1")));
        archive.CreateEntry("entry2.bin", fi2, false, new SevenZipEntrySettings(new SevenZipStoreCompressionSettings(), new SevenZipAESEncryptionSettings("test2")));
        archive.CreateEntry("entry3.bin", fi3, false, new SevenZipEntrySettings(new SevenZipStoreCompressionSettings(), new SevenZipAESEncryptionSettings("test3")));
        archive.Save(sevenZipFile);
    }
}

Създаване на 7z архив с множество записи

За компресиране на множество файлове в един 7z архив:

  1. Създайте екземпляр на SevenZipArchive клас.
  2. Използвайте SevenZipArchive.CreateEntries и предайте пътя до папката.
  3. Запазете архива с SevenZipArchive.Save.

Пример:

using Aspose.Zip.Saving;
using Aspose.Zip.SevenZip;
using (FileStream sevenZipFile = File.Open("archive.7z", FileMode.Create))
{
    FileInfo fi1 = new FileInfo("data1.bin");
    FileInfo fi2 = new FileInfo("data2.bin");
    FileInfo fi3 = new FileInfo("data3.bin");
    using (var archive = new SevenZipArchive())
    {
        archive.CreateEntry("entry1.bin", fi1, false, new SevenZipEntrySettings(new SevenZipStoreCompressionSettings(), new SevenZipAESEncryptionSettings("test1")));
        archive.CreateEntry("entry2.bin", fi2, false, new SevenZipEntrySettings(new SevenZipStoreCompressionSettings(), new SevenZipAESEncryptionSettings("test2")));
        archive.CreateEntry("entry3.bin", fi3, false, new SevenZipEntrySettings(new SevenZipStoreCompressionSettings(), new SevenZipAESEncryptionSettings("test3")));
        archive.Save(sevenZipFile);
    }
}

Създаване на AES криптиран 7z архив с C#

За да защитите архивите си, можете да използвате AES encryption, функция на библиотеката .NET 7z, която подобрява сигурността на архива:

  1. Създайте екземпляр на SevenZipAESEncryptionSettings.
  2. Конфигурирайте необходимите параметри за криптиране.
  3. Добавете елементи към архива и го запазете.

Пример:

using Aspose.Zip.Saving;
using Aspose.Zip.SevenZip;
using (FileStream sevenZipFile = File.Open("archive.7z", FileMode.Create))
{
    FileInfo fi1 = new FileInfo("data1.bin");
    FileInfo fi2 = new FileInfo("data2.bin");
    FileInfo fi3 = new FileInfo("data3.bin");
    using (var archive = new SevenZipArchive())
    {
        archive.CreateEntry("entry1.bin", fi1, false, new SevenZipEntrySettings(new SevenZipStoreCompressionSettings(), new SevenZipAESEncryptionSettings("test1")));
        archive.CreateEntry("entry2.bin", fi2, false, new SevenZipEntrySettings(new SevenZipStoreCompressionSettings(), new SevenZipAESEncryptionSettings("test2")));
        archive.CreateEntry("entry3.bin", fi3, false, new SevenZipEntrySettings(new SevenZipStoreCompressionSettings(), new SevenZipAESEncryptionSettings("test3")));
        archive.Save(sevenZipFile);
    }
}

Задаване на различни пароли за 7z елементи с C#

За да зададете уникални пароли за различни елементи във вашия архив:

  1. Отворете FileStream за 7z архива.
  2. Използвайте SevenZipArchive.CreateEntry за добавяне на елементи, като задавате индивидуални пароли.
  3. Запазете архива.

Пример:

using Aspose.Zip.Saving;
using Aspose.Zip.SevenZip;
using (FileStream sevenZipFile = File.Open("archive.7z", FileMode.Create))
{
    FileInfo fi1 = new FileInfo("data1.bin");
    FileInfo fi2 = new FileInfo("data2.bin");
    FileInfo fi3 = new FileInfo("data3.bin");
    using (var archive = new SevenZipArchive())
    {
        archive.CreateEntry("entry1.bin", fi1, false, new SevenZipEntrySettings(new SevenZipStoreCompressionSettings(), new SevenZipAESEncryptionSettings("test1")));
        archive.CreateEntry("entry2.bin", fi2, false, new SevenZipEntrySettings(new SevenZipStoreCompressionSettings(), new SevenZipAESEncryptionSettings("test2")));
        archive.CreateEntry("entry3.bin", fi3, false, new SevenZipEntrySettings(new SevenZipStoreCompressionSettings(), new SevenZipAESEncryptionSettings("test3")));
        archive.Save(sevenZipFile);
    }
}

Заключение

В тази статия разгледахме как да създавайте 7z архиви програмно в C#, защитете ги с AES криптиране, и задайте уникални пароли за елементите. За по‑напреднали функции и най‑добри практики, разгледайте Aspose.ZIP documentation.

Като използвате Aspose Plugin за .NET, можете ефективно да управлявате архиви, прилагате криптиране и оптимизирате работните си процеси — всичко това само за $99. Отключете разширени функции днес с този надежден .NET плъгин за извличане на архиви, поддържащ всички основни формати!

More in this category