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 .