كيفية استخراج ملفات RAR باستخدام C#

كيفية استخراج ملفات RAR باستخدام C#

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

فوائد استخراج ملفات RAR

  1. الضغط:
    • يوفر تنسيق RAR عادةً نسب ضغط أفضل مقارنةً بـ ZIP.
  2. الأرشيفات متعددة الأجزاء:
    • تدعم ملفات RAR الأرشيفات متعددة الأجزاء، مما يسمح بتقسيم مجموعات البيانات الكبيرة إلى ملفات أصغر.
  3. معلومات الملف:
    • يتيح لك الوصول إلى تفاصيل مختلفة (الحجم، التاريخ، إلخ) حول الملفات في الأرشيف قبل الاستخراج.

المتطلبات المسبقة: إعداد البيئة

  1. إعداد Visual Studio أو أي IDE متوافق مع .NET.
  2. تثبيت Aspose.ZIP من مدير حزم NuGet.

دليل خطوة بخطوة لاستخراج ملفات RAR

الخطوة 1: تثبيت Aspose.ZIP

أضف مكتبة Aspose.ZIP إلى مشروعك.

Install-Package Aspose.ZIP

الخطوة 2: تحميل ملف RAR

قم بتحميل ملف RAR المصدر باستخدام فئة RarArchive.

using (RarArchive rarArchive = new RarArchive("Sample.rar"))
{
    // ستتبع خطوات المعالجة هنا
}

الخطوة 3: تحليل الإدخالات

قم بالتكرار عبر جميع الإدخالات في أرشيف RAR.

foreach (var entry in rarArchive.Entries)
{
    // ستتبع خطوات المعالجة الإضافية هنا
}

الخطوة 4: إنشاء FileStream

قم بإنشاء FileStream لكل إدخال لكتابة البيانات المستخرجة.

var file = File.Create(entry.Name);

الخطوة 5: قراءة البايتات من الإدخال

اقرأ جميع البايتات من الإدخال الحالي واحفظها في FileStream.

using (var fileEntry = entry.Open())
{
    byte[] data = new byte[1024];
    int bytesCount;
    while ((bytesCount = fileEntry.Read(data, 0, data.Length)) > 0)
    {
        file.Write(data, 0, bytesCount);
    }
}

الخطوة 6: حفظ الملف المستخرج

تأكد من أن FileStream تم حفظه وإغلاقه بشكل صحيح.

file.Close();
file.Dispose();

مثال كامل لكود لاستخراج ملفات RAR

إليك مثال كامل يوضح كيفية استخراج ملفات RAR في C#:

// تحميل ملف RAR
using (RarArchive rarArchive = new RarArchive("Sample.rar"))
{
    // تحليل جميع الإدخالات في الأرشيف
    foreach (var entry in rarArchive.Entries)
    {
        // إنشاء ملف لكل إدخال
        var file = File.Create(entry.Name);
        
        // فتح إدخال الأرشيف وحفظ البيانات في الملف
        using (var fileEntry = entry.Open())
        {
            byte[] data = new byte[1024];
            int bytesCount;
            while ((bytesCount = fileEntry.Read(data, 0, data.Length)) > 0)
            {
                file.Write(data, 0, bytesCount);
            }
        }

        // إغلاق تدفق الملف بعد الحفظ
        file.Close();
    }
}

معلومات إضافية

  • يمكنك تصفية الملفات بناءً على معايير مختلفة مثل الحجم أو التاريخ قبل الاستخراج.
  • تدعم مكتبة Aspose.ZIP تنسيقات أرشيف مختلفة، مما يسمح بمعالجة الملفات بشكل متعدد الاستخدامات.

الخاتمة

لقد أظهر هذا الدليل كيفية استخراج ملفات RAR في C# باستخدام Aspose.ZIP. من خلال اتباع الخطوات الموضحة وعينة الكود، يمكنك دمج وظيفة استخراج RAR في تطبيقاتك بسلاسة. لمزيد من الاستكشاف، يمكنك الاطلاع على الدروس حول ضغط الملفات أو استخراج تنسيقات أرشيف أخرى.

 عربي