SharpZipLib é uma biblioteca de compressão de arquivos para C # e outras linguagens de programação , oferecendo funções para a manipulação de ZIP , GZIP , TAR e formatos bzip2 . . A biblioteca apresenta uma interface muito simples, o que lhe permite um arquivo zip com apenas algumas chamadas de função. Depois de construir o resto do seu programa - assumindo que o seu projeto é algo mais do que um utilitário de linha de comando que fecha - incluir a biblioteca SharpZipLib e criar uma função que fecha , que pode então ser chamado de outro lugar no seu código. Instruções 
 1 
 Criar cabeçalho da função. Deve ser algo como isto: 
 
 Zip public static void (string inputFile , corda outputFile ) 
 
 Este define o nome e os parâmetros da função. Supondo que você use o código acima exatamente como está escrito , você vai ser capaz de chamar a função , comprimindo um arquivo específico em um ZIP , assim: 
 
 Zip ( " imagem.jpg ", " image.zip " ) ; 
 2 
 Comece o corpo da função , declarando as variáveis necessárias e instâncias de objetos . Deve ser algo como isto: 
 
 { 
 
 FileStream fileStreamIn = new FileStream 
 
 ( inputFile , FileMode.Open , FileAccess.READ ); 
 
 FileStream fileStreamOut = new FileStream 
 
 ( outputFile , FileMode.Create , FileAccess.Write ); 
 
 ZipOutputStream zipStreamOut = new ZipOutputStream ( fileStreamOut ); 
 
 byte [] buffer = new byte ; 
 
 ZipEntry entrada = new ZipEntry ( Path.GetFileName ( inputFile ) ); 
 
 zipOutStream.PutNextEntry ( entrada ); 
 
 int size; 
 
 cria dois FileStreams para os arquivos de entrada e saída , e então um ZipOutputStream baseado no FileStream saída que você acabou de declarar . Isto é seguido por algumas variáveis para números de manipulação na carne da função chegando próximo , e um par para armazenar o caminho do arquivo de saída. 
 3 
 Digite a carne da função - -a " do ... while " loop que lê os dados e comprime : 
 
 fazer tampão 
 
 { 
 
 size = fileStreamIn.Read (buffer, 0, . Comprimento) ; 
 
 zipStreamOut.Write (buffer, 0, tamanho ); 
 
 } while ( tamanho > 0); 
 
 Isso vai percorrer o arquivo, uma byte de cada vez , alimentando os dados para a função " Write" de zipStreamOut . O processo será repetido até o final do arquivo é alcançado eo fechando seja concluída. 
 4 
 Feche o zip e FileStreams , e acabar com a função , arrumar tudo função está agora completa e pode ser usado em seu programa se for o caso .