biblioteca de compressão livre para C # que suporta 7zip (LZMA) [fechado]
-
19-08-2019 - |
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?
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:
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.