چگونه فایل ZIP را در حافظه در C# ایجاد کنیم

چگونه فایل ZIP را در حافظه در C# ایجاد کنیم

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

مزایای ایجاد فایل‌های ZIP در حافظه

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

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

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

راهنمای مرحله به مرحله برای ایجاد فایل ZIP در حافظه

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

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

Install-Package Aspose.ZIP

مرحله 2: شامل کردن فضای نام

فضای نام Aspose.Zip را به کد خود اضافه کنید تا از قابلیت‌های آن استفاده کنید.

using Aspose.Zip;

مرحله 3: بارگذاری فایل‌ها از دیسک

مسیرهای فایل را از پوشه منبع به یک آرایه رشته‌ای بازیابی کنید.

string[] filesArray = Directory.GetFiles("YourFolderPath", "*.*", SearchOption.TopDirectoryOnly);

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

یک شیء Archive در حافظه برای نگهداری ورودی‌های ZIP ایجاد کنید.

using (MemoryStream zipFileInMemory = new MemoryStream())
{
    using (Archive zipArchive = new Archive())
    {
        // پردازش‌های بیشتر در اینجا ادامه می‌یابد
    }
}

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

از طریق آرایه فایل‌ها حلقه بزنید و برای هر فایل یک ArchiveEntry ایجاد کنید.

foreach (string fileDiskPath in filesArray)
{
    string fileName = Path.GetFileName(fileDiskPath);
    zipArchive.CreateEntry(fileName, fileDiskPath);
}

مرحله 6: ذخیره فایل ZIP در حافظه

آرشیو ZIP را در حافظه با ذخیره آن در MemoryStream ایجاد کنید.

zipArchive.Save(zipFileInMemory);

مثال کد کامل برای ایجاد یک فایل ZIP در حافظه

در اینجا کد کامل که نشان می‌دهد چگونه یک فایل ZIP در حافظه ایجاد کنید آورده شده است:

// ایجاد یک نمونه MemoryStream برای فایل ZIP
using (MemoryStream zipFileInMemory = new MemoryStream())
{
    // ایجاد یک شیء آرشیو خالی برای ZIP
    using (Archive zipArchive = new Archive())
    {
        // دریافت تمام فایل‌ها از یک پوشه و ذخیره مسیرهای آن‌ها در یک آرایه رشته‌ای
        string[] filesArray = Directory.GetFiles("YourFolderPath", "*.*", SearchOption.TopDirectoryOnly);

        // از طریق آرایه حلقه بزنید و برای هر فایل یک ArchiveEntry ایجاد کنید
        foreach (string fileDiskPath in filesArray)
        {
            string fileName = Path.GetFileName(fileDiskPath);
            zipArchive.CreateEntry(fileName, fileDiskPath);
        }

        // ذخیره آرشیو در حافظه
        zipArchive.Save(zipFileInMemory);
    }
}

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

  • شما می‌توانید به راحتی کد را برای اعمال روش‌های رمزنگاری یا فشرده‌سازی بر روی فایل ZIP تغییر دهید.
  • این راه‌حل به شما اجازه می‌دهد تا عملیات‌های بیشتری بر روی فایل ZIP در حافظه انجام دهید، مانند ارسال آن از طریق شبکه یا ذخیره آن بر روی دیسک در آینده.

نتیجه‌گیری

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

 فارسی