كيفية إنشاء ملف ZIP في الذاكرة باستخدام C#

كيفية إنشاء ملف ZIP في الذاكرة باستخدام C#

في هذا الدليل خطوة بخطوة، سوف تتعلم كيفية إنشاء ملف ZIP في الذاكرة باستخدام C#.العملية المذكورة هنا تسمح لك لضغط الملفات والمجلدات في تنسيق ZIP دون الحاجة إلى إنشاء ملف مادي على القرص.

فوائد إنشاء ملفات ZIP في الذاكرة

  • الأداء:- تجنب الأقراص I / O في الجزء العلوي ، مما يجعل العملية أسرع.

  • التخزين المؤقت:- يغطي الملفات في الذاكرة للحصول على الوصول السريع والمعالجة.

  • مرونة:- يسهل العمليات مثل إرسال الملفات عبر الشبكة دون تخزين متوسط.

المعايير: إعداد البيئة

  • إعداد Visual Studio أو أي .NET IDE متوافق.
  • قم بتثبيت 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())
    {
        // Further processing follows here
    }
}

الخطوة 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 في الذاكرة:

// 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#. من خلال اتباع القائمة المقدمة، يمكنك بفعالية إدارة ضغط الملفات داخل التطبيقات الخاصة بك دون الحاجة إلى إنشاء الملفات المادية.

 عربي