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

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

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

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

  • تصمیم گیری:- از دیسک I/O اجتناب کنید، فرآیند را سریع تر کنید.

  • ذخیره سازی موقت:- فایل ها را در حافظه برای دسترسی سریع و پردازش قرار می دهد.

  • انعطاف پذیری:- امکان عملیات مانند ارسال فایل ها از طریق یک شبکه بدون ذخیره سازی میانگین را فراهم می کند.

برچسب ها: آماده سازی محیط زیست

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

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

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

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

Install-Package Aspose.ZIP

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

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

using Aspose.Zip;

مرحله سوم: فایل ها را از دیسک دانلود کنید

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

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

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

بلافاصله یک Archive موضوع در حافظه برای نگه داشتن ورودی های ZIP.

using (MemoryStream zipFileInMemory = new MemoryStream())
{
    using (Archive zipArchive = new Archive())
    {
        // Further processing follows here
    }
}

مرحله پنجم: ایجاد فایل های آرشیو

فایلهای فایل را از بین ببرید و یک ArchiveEntry برای هر فایل

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

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

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

zipArchive.Save(zipFileInMemory);

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

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

// Create a MemoryStream instance for the ZIP file
using (MemoryStream zipFileInMemory = new MemoryStream())
{
    // Create an empty Archive object for ZIP
    using (Archive zipArchive = new Archive())
    {
        // Get all files from a folder and store their paths in a string array
        string[] filesArray = Directory.GetFiles("YourFolderPath", "*.*", SearchOption.TopDirectoryOnly);

        // Loop through the array and create an ArchiveEntry for each file
        foreach (string fileDiskPath in filesArray)
        {
            string fileName = Path.GetFileName(fileDiskPath);
            zipArchive.CreateEntry(fileName, fileDiskPath);
        }

        // Save the Archive in memory
        zipArchive.Save(zipFileInMemory);
    }
}

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

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

نتیجه گیری

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

 فارسی