
Introdução aos Arquivos ZIP em C#
Arquivos ZIP são essenciais para comprimir e organizar arquivos e pastas em um único contêiner gerenciável. Eles não apenas reduzem o tamanho dos arquivos para armazenamento e transmissão eficientes, mas também preservam os metadados e podem ser criptografados para maior segurança. Neste artigo, exploraremos vários métodos para criar arquivos ZIP programaticamente em C#, incluindo como adicionar arquivos e pastas, criar arquivos ZIP protegidos por senha e aplicar criptografia AES.
O Que Você Vai Aprender
Neste artigo, você descobrirá como:
- Criar um arquivo ZIP usando C#
- Adicionar vários arquivos a um arquivo ZIP
- Adicionar pastas a um arquivo ZIP
- Criar um arquivo ZIP protegido por senha usando ZipCrypto
- Criptografar arquivos ZIP com criptografia AES
- Definir modo de compressão paralela
Biblioteca ZIP em C#
A Aspose.ZIP for .NET é uma ferramenta poderosa para lidar com operações de arquivos ZIP dentro de aplicações .NET, facilitando a compactação ou descompactação de arquivos e pastas. Esta biblioteca é particularmente eficaz para lidar com arquivos grandes em arquivos ZIP C# .NET e suporta criptografia AES para maior segurança. Você pode instalar facilmente esta biblioteca pelo NuGet ou baixar os binários da seção Downloads.
Criar um Arquivo ZIP em C#
Para criar programaticamente um arquivo ZIP em C#, siga estas etapas:
- Crie um objeto FileStream para o arquivo ZIP de saída.
- Abra o arquivo de origem como um objeto FileStream.
- Instancie a classe Archive.
- Adicione o arquivo ao arquivo usando o método Archive.CreateEntry(string, FileStream).
- Salve o arquivo ZIP com o método Archive.Save(FileStream).
Aqui está um exemplo de código demonstrando como adicionar um arquivo a um arquivo ZIP em C#:
Adicionar Vários Arquivos a um Arquivo ZIP em C#
Quando você precisa adicionar vários arquivos a um arquivo ZIP, várias abordagens podem ser tomadas:
Usando FileStream para Adicionar Vários Arquivos
Este método utiliza a classe FileStream para adicionar arquivos ao arquivo ZIP através do método Archive.CreateEntry(String, FileStream). Veja como você pode fazer isso:
Usando FileInfo para Vários Arquivos
Alternativamente, você pode utilizar a classe FileInfo para carregar arquivos e adicioná-los ao arquivo ZIP com o método Archive.CreateEntry(String, FileInfo). Abaixo está um exemplo de código:
Usando Caminhos de Arquivo
Você também pode fornecer diretamente os caminhos dos arquivos ao método Archive.CreateEntry(String name, String path, Boolean openImmediately, ArchiveEntrySettings newEntrySettings). Aqui está um exemplo:
Adicionar Pastas a um Arquivo ZIP em C#
Para adicionar uma pasta a um arquivo ZIP em C#, siga estas etapas:
- Crie um objeto FileStream para o arquivo ZIP de saída.
- Instancie a classe Archive.
- Use a classe DirectoryInfo para especificar a pasta que você deseja compactar.
- Adicione a pasta ao ZIP usando o método Archive.CreateEntries(DirectoryInfo).
- Salve o arquivo ZIP com o método Archive.Save(FileStream).
Aqui está um exemplo de código que ilustra como adicionar uma pasta a um arquivo ZIP:
Criar um ZIP Protegido por Senha Usando ZipCrypto em C#
Para proteger seus arquivos ZIP, você pode aplicar proteção por senha usando criptografia ZipCrypto. Isso é realizado utilizando a classe ArchiveEntrySettings no construtor da classe Archive, que aceita o tipo de criptografia como parâmetro.
Veja como criar um arquivo ZIP protegido por senha usando ZipCrypto em C#:
Criar ZIP Protegido por Senha com Criptografia AES
A Aspose.ZIP for .NET também suporta criptografia AES para proteger arquivos ZIP. Você pode escolher entre os seguintes métodos de criptografia AES:
- AES128
- AES192
- AES256
Para aplicar a criptografia AES, use a classe AesEcryptionSettings. Abaixo está um exemplo de código demonstrando como criar um ZIP protegido por senha com criptografia AES em C#:
Definir Modo de Compressão Paralela
Para um manuseio eficiente de várias entradas, você pode configurar a API para compressão paralela usando a classe ParallelOptions. Os modos de compressão paralela disponíveis são:
- Nunca - Não comprimir em paralelo.
- Sempre - Comprimir em paralelo (cuidado com possíveis problemas de memória).
- Automático - Decidir automaticamente se deve usar compressão paralela com base nas entradas.
Veja como definir o modo de compressão paralela enquanto compacta vários arquivos com a biblioteca ZIP Aspose C#:
Saiba Mais Sobre a Biblioteca ZIP C# .NET
Para aprofundar seu entendimento sobre a biblioteca ZIP C# .NET, explore os seguintes recursos:
Experimente Nossa Ferramenta de Compressão ZIP Online
Você também pode experimentar nosso aplicativo online gratuito baseado na Aspose.ZIP for .NET para compactar arquivos em arquivos ZIP sem esforço.
Conclusão
Neste artigo, você aprendeu como criar arquivos ZIP programaticamente em C#. Os exemplos de código fornecidos demonstram como adicionar arquivos e pastas a arquivos ZIP, criar arquivos ZIP protegidos por senha usando métodos ZipCrypto e AES, e configurar a compressão paralela. Se você tiver alguma dúvida ou precisar de mais assistência, sinta-se à vontade para entrar em contato através do nosso fórum.
Veja Também
Palavras-chave: Criação Programática de Arquivos ZIP em C# .NET, Manipulação de Arquivos ZIP em C# .NET Core, Adicionar Arquivos a Arquivo ZIP em C# .NET 6, Adicionar Pastas a Arquivo ZIP usando C# .NET, Criar Arquivo ZIP a Partir de Diretório C#, Criação de Arquivo ZIP com Proteção por Senha em C# .NET, Criptografia e Descriptografia de Arquivos ZIP em .NET Programaticamente, Criação Eficiente de Arquivos ZIP em C# .NET para Arquivos Grandes, Manipulação de Arquivos Grandes em Arquivos ZIP C# .NET, Tratamento de Erros em Arquivos ZIP C# .NET e Melhores Práticas, Adição Programática de Arquivos na Biblioteca ZIP Aspose .NET, Desempenho da Biblioteca ZIP Aspose .NET para Arquivos Grandes, Biblioteca ZIP Aspose .NET: Adicionar Pastas e Arquivos Programaticamente, Atualização Programática de Arquivos ZIP em C# .NET, Arquivo ZIP .NET: Adicionar Múltiplas Pastas e Arquivos, Criação Assíncrona de Arquivos ZIP em C# .NET, Criação Programática de Arquivos ZIP no .NET Framework, Criação Programática de Arquivos ZIP no .NET Core, Exemplos de Manipulação de Arquivos ZIP .NET: Adicionar, Remover, Atualizar, Manipulação Programática de Arquivos ZIP em C# .NET Core 3.1, Manipulação Programática de Arquivos ZIP em C# .NET 5, Manipulação Programática de Arquivos ZIP em C# .NET 7, Arquivo ZIP C# .NET com Preservação da Estrutura do Diretório, API de Arquivos ZIP C# .NET: Adicionar, Excluir, Extrair, Criar Arquivos ZIP Autoextraíveis em C# .NET, Biblioteca de Compressão ZIP .NET: Melhores Práticas e Otimização, Criação de Arquivos ZIP C# .NET a Partir de Múltiplas Fontes, C# Adicionar Arquivos a Pasta ZIP com Subdiretórios, Manipulação Programática de Arquivos ZIP .NET: Técnicas Avançadas, Recomendação de Biblioteca ZIP C# .NET para Arquivos Grandes, Criação Eficiente de Arquivos ZIP C# .NET para Grandes Conjuntos de Dados, Criação de Arquivos ZIP .NET com Relatório de Progresso, Arquivo ZIP C# .NET: Adicionar Programaticamente Arquivos e Pastas, Processamento de Arquivos ZIP .NET 6: Manipulação Eficiente de Arquivos, Arquivo ZIP C# .NET: Melhores Práticas para Segurança, API de Arquivos ZIP .NET: Uso Avançado e Recursos, C# Adicionar Diretório a Arquivo ZIP com Compressão Personalizada.