RAR إلى ZIP C#

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

لماذا تحويل RAR إلى ZIP؟

هناك عدة أسباب لتحويل ملفات RAR إلى ZIP:

  • التوافق بين الأنظمة الأساسية: يتم دعم ZIP على المزيد من الأنظمة والمنصات مقارنةً بـ RAR.

  • الدعم الأصلي: يمكن للعديد من أنظمة التشغيل، مثل Windows وmacOS، استخراج ملفات ZIP بشكل أصلي دون الحاجة إلى برامج تابعة لجهات خارجية.

  • كفاءة الضغط: ضغط ZIP فعال ويوفر التوازن بين حجم الملف والسرعة.

الآن، دعنا ننتقل إلى التثبيت، الدليل خطوة بخطوة ومثال الكود.

محول أرشيف RAR إلى ZIP - تكوين واجهة برمجة التطبيقات C#

يمكنك تحويل تنسيقات الأرشيف المضغوطة على جانبك عن طريق تثبيت Conholdate.Total for .NET باستخدام أمر التثبيت التالي في وحدة تحكم NuGet Package Manager:

PM> NuGet\Install-Package Conholdate.Total

تحويل RAR إلى ZIP في C#

لتحقيق ذلك، سنستخدم مكتبة Aspose.Zip، وهي جزء من مجموعة Conholdate.Total for .NET. فيما يلي شرح تفصيلي لكيفية تحويل ملف RAR إلى ملف ZIP:

  • تهيئة أرشيف ZIP: نبدأ بإنشاء كائن Aspose.Zip.Archive جديد والذي سيمثل ملف ZIP.
  • افتح ملف RAR واستخرجه: قم بتحميل ملف RAR باستخدام Aspose.Zip.Rar.RarArchive واستخرج كل إدخال. تتم معالجة الملفات والدلائل داخل أرشيف RAR بشكل منفصل.
  • إضافة إدخالات إلى أرشيف ZIP: بالنسبة لكل إدخال (ملف أو دليل) في ملف RAR، نضيفه إلى أرشيف ZIP. تتم كتابة الملفات كإدخالات ZIP، بينما يتم إنشاء الدلائل كإدخالات فارغة.
  • حفظ ملف ZIP: بعد إضافة كافة الإدخالات، احفظ أرشيف ZIP في موقع الإخراج المطلوب.

يوضح مقتطف التعليمات البرمجية التالي كيفية تحويل RAR إلى ZIP في C#:

using (Aspose.Zip.Archive zip = new Aspose.Zip.Archive())
{
    using (Aspose.Zip.Rar.RarArchive rar = new Aspose.Zip.Rar.RarArchive("archvie.rar"))
    {
       for (int i = 0; i < rar.Entries.Count; i++)
        {
            if (!rar.Entries[i].IsDirectory)
            {
                var ms = new MemoryStream();
                rar.Entries[i].Extract(ms);
                ms.Seek(0, SeekOrigin.Begin);
                zip.CreateEntry(rar.Entries[i].Name, ms);
            }
            else
                zip.CreateEntry(rar.Entries[i].Name + "/", Stream.Null);
        }
    }

    zip.Save("output.zip");
}

رخصة التقييم المجانية

يمكنك الحصول على ترخيص مؤقت مجاني لتجربة هذه الميزة والعديد من الميزات الأخرى لمعالجة ملفات الأرشيف المضغوطة أو تحويلها في بيئتك.

خاتمة

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

الأسئلة الشائعة

هل يتم الحفاظ على بنية الدليل أثناء التحويل؟

نعم، يحافظ الكود على بنية الدليل من ملف RAR عند إضافة إدخالات إلى أرشيف ZIP.

هل أحتاج إلى برنامج تابع لجهة خارجية لاستخراج ملفات ZIP؟

لا، يمكن استخراج ملفات ZIP بشكل أصلي على معظم الأنظمة الأساسية، بما في ذلك Windows وmacOS.

هل يمكنني حماية ملف ZIP بكلمة مرور؟

نعم، يسمح Aspose.ZIP بالتشفير وحماية كلمة المرور عند إنشاء أرشيفات ZIP.

انظر أيضا