Criar Arquivo 7Zip em C#

Em um post anterior, exploramos vários métodos para criar arquivos ZIP usando C#. Neste artigo, vamos expandir essa base focando no formato 7z. O formato 7z é baseado em uma arquitetura de código aberto e oferece uma alta taxa de compressão, além da capacidade de usar criptografia AES de 256 bits para proteger tanto os arquivos quanto seus nomes.

O Que Você Vai Aprender

Neste guia, você aprenderá como criar arquivos 7z (7-Zip) programaticamente usando C#. Vamos cobrir:

Todos os exemplos e trechos de código são baseados na API Aspose.ZIP for .NET. Certifique-se de ter a API instalada usando um dos seguintes métodos:

Crie Arquivo 7z (7-Zip) usando C#

Você pode comprimir arquivos em um arquivo 7z em dois cenários principais: ao lidar com um único arquivo ou vários arquivos. Veja como lidar com ambas as situações.

Criar Arquivo 7z com Única Entrada

Para criar um arquivo 7z com um único arquivo, siga estas etapas:

  1. Abra um novo FileStream para criar um arquivo 7z.
  2. Crie uma instância da classe SevenZipArchive.
  3. Adicione o arquivo ao arquivo usando o método SevenZipArchive.CreateEntry(String, String, Boolean, SevenZipEntrySettings).
  4. Salve o arquivo usando o método SevenZipArchive.Save(Stream).

Aqui está um exemplo de arquivo 7z em C# demonstrando as etapas acima:

Criar Arquivo 7z com Múltiplas Entradas

Se você precisar comprimir vários arquivos, pode colocá-los em uma pasta e passar o caminho da pasta para o método SevenZipArchive.CreateEntries(). Siga estas etapas:

  1. Crie uma instância da classe SevenZipArchive.
  2. Passe o caminho da pasta para o método SevenZipArchive.CreateEntries(String, Boolean).
  3. Chame o método SevenZipArchive.Save(String).

Veja como criar um arquivo 7z com várias entradas usando C#:

Crie um Arquivo 7z Criptografado com AES usando C#

O formato 7z suporta criptografia AES para maior segurança. Para criptografar um arquivo 7z, use a classe SevenZipAESEncryptionSettings. Abaixo está um exemplo de código que demonstra como criar um arquivo 7z criptografado com AES usando C#:

Defina Senhas Diferentes para Entradas 7z usando C#

O formato 7z também permite que você atribua uma senha exclusiva para cada entrada de arquivo. Se você estiver comprimindo vários arquivos, pode especificar senhas diferentes para cada um. Veja como fazer isso:

  1. Crie um novo FileStream para o arquivo de arquivo 7z.
  2. Acesse cada entrada de arquivo usando a classe FileInfo.
  3. Crie uma instância da classe SevenZipArchive.
  4. Adicione entradas ao arquivo 7z usando o método SevenZipArchive.CreateEntry(String, FileInfo, Boolean, SevenZipEntrySettings).
  5. Salve o arquivo usando o método SevenZipArchive.Save(Stream).

Confira o seguinte exemplo de código para ver como definir senhas diferentes para cada entrada em um arquivo 7z:

Conclusão

Neste artigo, exploramos como criar arquivos 7z programaticamente usando C#. Também discutimos a implementação da criptografia AES para segurança aprimorada e como definir senhas exclusivas para cada entrada de arquivo. Para mais informações sobre compressão e descompressão de arquivos, você pode conferir a documentação do Aspose.ZIP.

Artigos Relacionados

Ao aproveitar o Plugin Aspose para .NET, você pode facilmente integrar a compressão .NET 7-Zip em suas aplicações, agilizar seus processos de gerenciamento de arquivos e aprimorar as capacidades do seu software. Por apenas $99, você pode desbloquear recursos poderosos que suportam o manuseio de arquivos grandes, compressão assíncrona e muito mais.