Pergunta

Eu tenho um programa (escrito em C #) que lê / escreve seus dados diretamente (acesso direto aos arquivos sem servidor) para arquivos de banco de dados Firebird. Para uma melhor troca eu quero (un) comprimi-los em importação / exportação para um melhor intercâmbio através da internet sem a necessidade de um programa externo para (des) comprimi-los.

Eu sei #ziplib que suporta Zip, GZip, Tar e BZip2.

O que mais bibliotecas de compressão livres para C # você sabe? Existe uma biblioteca .NET que suporta LZMA para que eu possa ler / escrever ".7z" arquivos?

Foi útil?

Solução

Há um bom artigo escrito por Peter Bromberg:

7-Zip (LZMA) In-Memory compressão com C #

Mostra uma simples C # SevenZip.Compression.Lzma.SevenZipHelper classe para permitir alta compressão de in-memory objetos com C #. Adiciona um novo 7zip formatar LZMA Biscoito Compression classe ao publicado anteriormente CookieCompression utilidade.

Outras dicas

7-zip tem um código de fonte livre, domínio público C # SDK para o algoritmo LZMA:

http://www.7-zip.org/sdk.html

Você pode tentar SevenZipSharp

Parece ser um fato pouco conhecido, mas biblioteca .NET inclui embalagem / compressão API

Se você estiver escrevendo arquivos individuais, então você pode apenas tratá-lo como um fluxo e usar o inbuilt GZipStream / DeflateStream (embora em alguns testes que fiz, #ZipLib out-performed as MS oferecendo para ambos proporção e velocidade). Ou existe embutido em algum suporte zip no quadro. Eu não sei sobre LZMA, no entanto.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top