Como ZIP Pasta em C#

Este artigo rápido contém informações sobre como compactar a pasta em C#. Ele fornece etapas detalhadas a serem executadas ao escrever uma ferramenta para criar um arquivo ZIP para uma pasta. Algumas linhas de código na pasta zip C# e arquivos em todas as suas subpastas sem instalar nenhuma ferramenta de terceiros.

Etapas para compactar a pasta em C#

  1. Adicione Aspose.ZIP do gerenciador de pacotes NuGet para compactar a pasta
  2. Instanciar um objeto de classe FileStream com o nome do arquivo ZIP de saída
  3. Instanciar um objeto de arquivo ZIP Archive
  4. Crie entradas no arquivo, fornecendo o nome da pasta de destino
  5. Salve o arquivo para criar um arquivo ZIP contendo todos os arquivos e subpastas

Essas etapas descrevem o processo em detalhes, primeiro fornecendo a configuração do ambiente e, em seguida, apresentando todas as principais classes necessárias para criar um arquivo ZIP para uma pasta. Para zip folder C# as etapas de codificação são fornecidas posteriormente para o entendimento completo.

Código para Zip Folder em C#

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");
}
}
}

Essas linhas de código em C# criam um arquivo ZIP da pasta. Existem algumas variações possíveis para realizar a tarefa, por exemplo, em vez de fornecer o nome da pasta de destino, você pode fornecer o objeto de classe DirectoryInfo como fonte dos arquivos para o arquivo ZIP de saída. Da mesma forma, você também pode definir um sinalizador para incluir a pasta raiz no arquivo ZIP de saída.

Este tutorial nos guiou para compactar uma pasta completa. Se você estiver interessado em aprender o processo inverso, ou seja, extrair o arquivo ZIP, consulte o artigo em como extrair arquivo ZIP em c#.

 Português