Domanda

Ho un programma (scritto in C #) che legge / scrive i suoi dati direttamente (accesso diretto ai file senza server) nei file di database di Firebird. Per uno scambio migliore, desidero (decomprimerli) sull'importazione / esportazione per uno scambio migliore su Internet senza la necessità di un programma esterno per (un) comprimerli.

Conosco #ziplib che supporta Zip, GZip, Tar e BZip2.

Quali altre librerie di compressione gratuite per C # conosci? Esiste una libreria .NET che supporta LZMA in modo che io possa leggere / scrivere " .7z " file?

È stato utile?

Soluzione

C'è un buon articolo scritto da Peter Bromberg:

7Zip (LZMA) Compressione in memoria con C #

  

Mostra un semplice C #    SevenZip.Compression.Lzma.SevenZipHelper   per abilitare l'alta compressione di   oggetti in memoria con C #. Aggiunge un nuovo   Compressione cookie LZMA in formato 7Zip   classe a quella precedentemente pubblicata   Utilità CookieCompression.

Altri suggerimenti

7-zip ha un codice sorgente gratuito, SDK C # di dominio pubblico per l'algoritmo LZMA:

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

Puoi provare SevenZipSharp

Sembra essere un fatto abbastanza noto ma la libreria .NET include packaging / API di compressione

Se stai scrivendo singoli file, potresti semplicemente trattarlo come un flusso e usare l'integrato GZipStream / DeflateStream (sebbene in alcuni test lo abbia fatto, #ZipLib ha superato l'offerta MS per rapporto e velocità). Oppure c'è il supporto zip integrato da qualche parte nel framework. Non so di LZMA, però.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top