Publikoval Michal Kočí dňa 20.6.2006 o 00:52 v kategórii .Net
Od-ZIP-ovanie súboru je jedna z úloh, ktorú budem v blízkej dobe nútený riešiť, keďže sa chystám spraviť si vlastnú galériu, kde nahrávanie fotiek jednu po druhej by bolo, jemne povedané obrovské utrpenie. No a tak som sa trochu porozhliadol aké sú možnosti, kde ako relatívne vhodná sa mi zdá možnosť použiť #ziplib (známu tiež pod názvom SharpZipLib).
Jednoduché rozzipovanie súboru, toť môj cieľ. A tento ciel #ziplib aj plní. Je to jedna assembly napísaná v C#, stiahnuteľné sú aj zdrojové kódy a knižnica je distribuovaná pod licenciou GPL. Pracovať vie so súbormi BZip2, GZip, Tar a Zip.
Knižnica je docela komplexná, našťastie pre obyčajné odzipovanie resp. zazipovanie (typu rozzipovať alebo zazipovať všetky súbory) poskytuje triedu FastZip a jej metódy CreateZip a ExtractZip. Čo ma jediné zamrzelo, že preťažená metóda ExtractZip (tá s piatimi parametrami :)) podla mňa nefunguje. Našťastie mne bude stačiť aj tá metóda s tromi parametrami.
Keďže som mal po ruke Visual C# 2005 Express a chcel som si zároveň so zipovaním vyskúšať komponent TableLayoutPanel, vytvoril som malú utilitku, ktorá zvládne odzipovať ZIP súbor do zvoleného adresára:
Samotné rozzipovanie je ozaj kód na dva riadky:
FastZip zip = new FastZip(); zip.ExtractZip(tbZipFile.Text, tbDirectory.Text, string.Empty);
Ak som Vás trochu navnadil, potom:
Ak nechceš premeškať príspevky ako je tento, sleduj ma na Twitteri, alebo ak máš RSS čítačku, môžeš sledovať môj RSS kanál.