Pregunta

Tengo un programa (escrito en C #) que lee / escribe sus datos directamente (acceso directo a archivos sin servidor) en los archivos de la base de datos de Firebird. Para un mejor intercambio, quiero (des) comprimirlos en la importación / exportación para un mejor intercambio en Internet sin la necesidad de un programa externo para (des) comprimirlos.

#ziplib que admite Zip, GZip, Tar y BZip2.

¿Qué otras bibliotecas de compresión gratuitas para C # conoces? ¿Existe una biblioteca .NET que admita LZMA para poder leer / escribir ".7z"? archivos?

¿Fue útil?

Solución

Hay un buen artículo escrito por Peter Bromberg:

Compresión en memoria 7Zip (LZMA) con C #

  

Muestra un C # simple    SevenZip.Compression.Lzma.SevenZipHelper   clase para permitir alta compresión de   objetos en memoria con C #. Agrega un nuevo   7 Compresión de cookies LZMA en formato Zip   clase a la publicada anteriormente   Utilidad CookieCompression.

Otros consejos

7-zip tiene un código fuente gratuito, dominio público C # SDK para el algoritmo LZMA:

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

Puede probar SevenZipSharp

Parece ser un hecho bastante poco conocido, pero la biblioteca .NET incluye API de empaquetado / compresión

Si está escribiendo archivos individuales, entonces podría tratarlo como una secuencia y usar la GZipStream / DeflateStream (aunque en algunas pruebas lo hice, #ZipLib superó la oferta de MS tanto para la relación como para la velocidad). O hay soporte zip incorporado en algún lugar del marco. Sin embargo, no sé sobre LZMA.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top