Clique aqui para ler todos os artigos desta edição
Compactação – Trabalhando com arquivos ZIP no .NET
Por Marcos Dell
Arquivos compactados já fazem parte do dia-a-dia do desenvolvedor há muito tempo, por isso a existência de recursos e técnicas de manipulação dos mesmos é imprescindível em qualquer plataforma. No .NET não poderia ser diferente.
Vamos deixar de lado nosso “pé atrás” por bibliotecas terceirizadas e conheceremos a #ziplib no seu modo mais simples, rápido e prático. Em outras palavras, o que apresentarei neste artigo é um software com as seguintes funções: compactação, descompactação e listagem do conteúdo de um arquivo compactado.
Download e instalação da biblioteca #ziplib
A biblioteca #ziplib é totalmente escrita em C# para a plataforma .NET. Segundo seu criador (Mike Krueger), ela surgiu da necessidade de um conjunto de classes gerenciadas para trabalhar com arquivos GZIP e ZIP. Ao invés de usar bibliotecas nativas, ele preferiu escrever uma totalmente em código gerenciado.
Da teoria à prática, vamos ao que interessa. O site para download da #ziplib encontra-se na seção Links. O arquivo que deve ser baixado é o do item Compiled assembly with documentation and install scripts. Após o download, descompacte o arquivo em uma pasta qualquer. Veja que dentre os arquivos descompactados existe um chamado ICSharpCode.SharpZipLib.dll, que é tudo o que vamos precisar para nosso exemplo.
Criando a interface do projeto
Para demonstrar o uso da biblioteca, crie um novo projeto Windows Forms chamado “MyWinZip”, com a linguagem C#. Vamos separar as funcionalidades básicas (compactação e descompactação) em abas diferentes (controle TabControl).
Na Figura 1 temos a aba onde serão mostrados os arquivos (em um ListBox chamado “lsbArquivosDesc”) que estão em um ZIP. Na Figura 2 temos a opção de gerar um ZIP com arquivos de um diretório.
...