Как заархивировать папку в C#

Эта короткая статья содержит информацию о том, как заархивировать папку в C#. В нем подробно описаны шаги, которые необходимо выполнить при написании инструмента для создания файла ZIP для папки. Несколько строк кода в zip-папке C# и файлы во всех ее подпапках без установки каких-либо сторонних инструментов.

Шаги для ZIP-папки в С#

  1. Добавьте Aspose.ZIP из диспетчера пакетов NuGet, чтобы заархивировать папку.
  2. Создайте экземпляр объекта класса FileStream с выходным именем ZIP-файла.
  3. Создать экземпляр файлового объекта ZIP Archive
  4. Создайте записи в архиве, указав имя целевой папки
  5. Сохраните архив, чтобы создать ZIP-файл, содержащий все файлы и подпапки.

Эти шаги подробно описывают процесс, сначала предоставляя конфигурацию среды, а затем вводя все основные классы, необходимые для создания ZIP-файла для папки. Шаги кодирования zip папки C# даны позже для полного понимания.

Код для Zip-папки в С#

using System.IO;
using Aspose.Zip;
namespace ZipFolderInCSharp
{
class Program
{
static void Main(string[] args) // Main function to zip a complete folder in CSharp
{
// Create and instantiate a license to zip as many files as required
// instead of 8 files only in the absence of the license
Aspose.Zip.License licZipFolder= new Aspose.Zip.License();
licZipFolder.SetLicense("Aspose.Zip.lic");
// Create a file stream object by providing the output zip file name
using (FileStream ZippedFolder = File.Open("AnimationImages.zip", FileMode.Create))
{
// Create a Zip archive file class object
using (Archive archiveFile = new Archive())
{
// Add all the files and folders recursively
archiveFile.CreateEntries("AnimationImages");
// Save the output ZIP file
archiveFile.Save(ZippedFolder);
}
}
System.Console.WriteLine("Done");
}
}
}

Эти строки кода на C# создают ZIP-файл из папки. Существует несколько вариантов выполнения этой задачи, например, вместо указания имени целевой папки вы можете предоставить объект класса DirectoryInfo в качестве источника файлов для выходного ZIP-файла. Точно так же вы также можете установить флаг, чтобы включить корневую папку в выходной ZIP-файл.

Этот учебник помог нам заархивировать полную папку. Если вам интересно узнать об обратном процессе, т. е. распаковке ZIP-файла, обратитесь к статье как распаковать ZIP файл в С#.

 Русский