👋 Nový obsah na borekb.cz

Info Tento blog je v "read-only módu" a nový obsah již nebude přibývat. O vývoji píšu na DevBlog.

ZIP a komprese v .NETu

.NET Framework 2.0 obsahuje nový jmenný prostor System.IO.Com­pression a v něm třídy DeflateStream a GZipStream. To je na první pohled skvělá novinka, ale implementace bohužel až tak skvělá není. Při pokusech s náhodně generovaným obsahem souborů došlo až k 50% nárůstu velikosti souboru a také při kompresi „běžných“ souborů vestavěné třídy silně pokulhávají za různými kompresními utilitami (viz diskuze na MSDN Forums a odpovídající bug report). Druhou zásadní vadou na kráse je absence podpory ZIP souborů.

Co tedy dělat před vydáním frameworku 3.0? Nejčastěji doporučovanou možností je využití velmi dobré knihovny #ziplib (SharpZipLib), která podporuje formáty ZIP, GZip, Tar a BZip2 (to většinou stačí). Knihovna je dostupná zdarma, ale pro některé projekty může být problémem GPL licence, která neumožňuje #ziplib použít v komerčních (nebo obecně ne-GPL) projektech. Potom pomůže už jen Google.

Doufejme, že Microsoft na tomto poli trochu zapracuje. Komprimované soubory by měly být podporovány standardně, ne pomocí knihoven třetích stran.

Zařazeno do kategorií |

Komentáře jsou uzavřeny (blog je v read-only módu). Pokud mě chcete kontaktovat, můžete mailem.