معرفی یک کتابخانه قدرتمند و متن باز (Open Source) جهت فشرده سازی (Zip) فایل ها و فولدر ها
  در حال حاضر چندین کتابخانه قدرتمند جهت فشرده سازی و استخراج فایل به صورت متن باز موجود است که در این ترفند به معرفی یکی از قدرتمند ترین این کتابخانه ها می پردازم.
   C#
   ۱۱۶۶۶
   این مقاله حاوی فایل ضمیمه نمی باشد
   مرتضی صحراگرد
   ۱۳۸۸/۸/۲۸
ارسال لینک صفحه برای دوستان ارسال لینک صفحه برای دوستان  اضافه کردن به علاقه مندیها اضافه کردن به علاقه مندیها   نسخه قابل چاپ نسخه قابل چاپ

 

فشرده سازی و استخراج (Zip & Unzip) فایل ها و فولدر ها همواره مورد نظر توسعه گران نرم افزار بوده است. نوشتن یک کتابخانه قدرتمند جهت انجام اعمال پیشرفته فشرده سازی با استفاده از توابع و کلاس های پایه DotNet Framework کار بسیار وقت گیر و نه چندان ساده ای می باشد.

در حال حاضر کتابخانه های قدرتمندی از جمله SharpZipLib و  GZipStream وجود دارند که می توان از آن ها جهت رفع این مشکل استفاده نمود. ولی در این مقاله قصد دارم به معرفی کتابخانه DotNetZip بپردازم. این کتابخانه به صورت متن باز و همراه با مثال ها و مستندات مربوطه از اینجا قابل دریافت می باشد.

کتابخانه DotNetZip بسیار قدرتمند و آسان جهت استفاده می باشد. ضمنا این کتابخانه علاوه بر استفاده در برنامه های تحت ویندوز و وب، قابلیت استفاده در برنامه های موبایل (Compact Framework) را نیز دارد.

به طور مثال در قطعه کد زیر، ما فولدری به نام MyFolder را فشرده نموده و با نام MyFolder.zip ذخیره نموده ایم.

using System;

using Ionic.Zip;

 

namespace ZipSample

{

    class Program

    {

        static void Main(string[] args)

        {

                using (ZipFile zip = new ZipFile())

                {

                    zip.AddDirectory(@"D:\MyFolder");

                    zip.Save(@"D:\MyFolder.zip");

                }

 

        }

    }

}

همانطور که ملاحظه می نمایید، این عمل به ساده ترین شکل ممکن انجام پذیرفته است.