msdn33_capa.jpg

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.

 

...

Quer ler esse conteúdo completo? Seja um assinante e descubra as vantagens.
  • 473 Cursos
  • 10K Artigos
  • 100 DevCasts
  • 30 Projetos
  • 80 Guias
Tenha acesso completo