چگونه یک پوشه را در C# فشرده کنیم

چگونه یک پوشه را در C# فشرده کنیم

این مقاله سریع توضیح می‌دهد که چگونه یک پوشه را در C# فشرده کنید. این مقاله مراحل دقیق و نمونه کدی برای کمک به ایجاد یک فایل ZIP برای پوشه و محتوای آن ارائه می‌دهد. این راه‌حل نیازی به نصب هیچ ابزار شخص ثالثی ندارد.

مزایای فشرده‌سازی پوشه‌ها

  1. کارایی فضایی:
    • با فشرده‌سازی فایل‌ها، فضای ذخیره‌سازی را کاهش می‌دهد.
  2. مدیریت فایل سازمان‌یافته:
    • چندین فایل را به یک آرشیو واحد ترکیب می‌کند تا توزیع و مدیریت آن آسان‌تر شود.
  3. انتقال سریع‌تر:
    • اندازه‌های کوچک‌تر فایل منجر به زمان‌های بارگذاری و دانلود سریع‌تر می‌شود.

پیش‌نیازها: آماده‌سازی محیط

  1. Visual Studio یا هر IDE .NET سازگار را راه‌اندازی کنید.
  2. کتابخانه Aspose.ZIP را از طریق NuGet Package Manager نصب کنید.

راهنمای گام به گام برای فشرده‌سازی یک پوشه

مرحله 1: نصب Aspose.ZIP

کتابخانه Aspose.ZIP را به پروژه خود اضافه کنید.

Install-Package Aspose.ZIP

مرحله 2: ایجاد یک شیء FileStream

یک شیء FileStream برای فایل ZIP خروجی ایجاد کنید.

using System.IO;
var zippedFolder = File.Open("AnimationImages.zip", FileMode.Create);

مرحله 3: ایجاد یک شیء آرشیو ZIP

یک نمونه از کلاس Archive برای مدیریت عملیات ZIP ایجاد کنید.

using (Archive archiveFile = new Archive())
{
    // پردازش‌های بیشتری در اینجا دنبال می‌شود
}

مرحله 4: ایجاد ورودی‌ها در آرشیو

تمام فایل‌ها و پوشه‌ها را از دایرکتوری هدف به‌صورت بازگشتی اضافه کنید.

archiveFile.CreateEntries("AnimationImages");

مرحله 5: ذخیره فایل ZIP

پس از ایجاد ورودی‌ها، آرشیو را در دیسک ذخیره کنید.

archiveFile.Save(zippedFolder);

مثال کد کامل برای فشرده‌سازی یک پوشه

در اینجا یک مثال کامل C# نشان می‌دهد که چگونه یک پوشه را فشرده کنید:

// ایجاد یک شیء جریان فایل برای فایل zip خروجی
using (FileStream zippedFolder = File.Open("AnimationImages.zip", FileMode.Create))
{
    // ایجاد یک شیء کلاس فایل آرشیو Zip
    using (Archive archiveFile = new Archive())
    {
        // اضافه کردن تمام فایل‌ها و پوشه‌ها به‌صورت بازگشتی
        archiveFile.CreateEntries("AnimationImages");

        // ذخیره فایل ZIP خروجی
        archiveFile.Save(zippedFolder);
    }
}

اطلاعات اضافی

  • شما می‌توانید یک شیء کلاس DirectoryInfo را به عنوان منبع فایل‌ها برای فایل ZIP خروجی ارائه دهید.
  • همچنین می‌توانید پرچم‌هایی برای کنترل اینکه آیا پوشه ریشه را در ZIP خروجی شامل کنید، اضافه کنید.

نتیجه‌گیری

این آموزش شما را در فرآیند فشرده‌سازی یک پوشه کامل در C# راهنمایی کرده است. با چند خط کد، می‌توانید به‌راحتی ساختارهای پوشه را مدیریت کرده و آرشیوهای ZIP را به‌طور کارآمد ایجاد کنید. برای عملکردهای بیشتر، به آموزش‌های استخراج فایل‌های ZIP یا ایجاد انواع مختلف آرشیوها مراجعه کنید.

 فارسی