Como compactar uma pasta em C#

Como compactar uma pasta em C#

Este artigo rápido explica como zip uma pasta em C#. Ele fornece passos detalhados e uma amostra de código para ajudar na criação de um arquivo ZIP para uma pasta e seus conteúdos.

Benefícios de Zipping Folders

  • Eficiência Espacial:- Reduz o espaço de armazenamento com a compressão dos arquivos.

  • Gestão de arquivos organizados:- Combine vários arquivos em um único arquivo para facilitar a distribuição e gestão.

  • Transmissões mais rápidas:- Maiores tamanhos de arquivo levam a tempos mais rápidos de upload e download.

Título: Preparando o Meio Ambiente

  • Instale o Visual Studio ou qualquer .NET IDE compatível.
  • Instale a biblioteca Aspose.ZIP através do NuGet Package Manager.

Guia passo a passo para ZIP uma pasta

Passo 1: Instalar Aspose.ZIP

Adicione a biblioteca Aspose.ZIP ao seu projeto.

Install-Package Aspose.ZIP

Passo 2: Criar um Objeto FileStream

Imediatamente a FileStream Objeto para o arquivo ZIP de saída.

using System.IO;
var zippedFolder = File.Open("AnimationImages.zip", FileMode.Create);

Passo 3: Criar um Objeto de Arquivo ZIP

Crie um exemplo de Archive Aulas para lidar com operações ZIP.

using (Archive archiveFile = new Archive())
{
    // Further processing follows here
}

Passo 4: Crie entradas no arquivo

Adicione todos os arquivos e pastas do directorio-alvo de forma recorrente.

archiveFile.CreateEntries("AnimationImages");

Passo 5: Salve o arquivo ZIP

Uma vez que as entradas são criadas, salve o arquivo para o disco.

archiveFile.Save(zippedFolder);

Exemplo de código completo para ZIP uma pasta

Aqui está o exemplo completo de C# demonstrando como zip uma pasta:

// Create a file stream object for the output zip file
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);
    }
}

Informações adicionais

  • Você pode fornecer um Objeto de Clase da DirectoryInfo como a fonte dos arquivos para o arquivo ZIP de saída.
  • Você também pode incluir bandeiras para controlar se incluir a pasta de raiz na saída ZIP.

Conclusão

Este tutorial guia você através do processo de zipping uma pasta completa em C#. Com apenas algumas linhas de código, você pode facilmente gerenciar estruturas de pasta e criar arquivos ZIP de forma eficiente. Para mais funcionalidades, consulte tutoriais sobre extrair arquivos ZIP ou criar diferentes tipos de arquivos.

 Português