تحويل ZIP إلى 7z باستخدام لغة C#

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

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

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

  • تقليل أحجام الملفات: يوفر تنسيق 7z ضغطًا متفوقًا مقارنةً بتنسيق ZIP.

  • تحسين الأداء: تؤدي أحجام الملفات الأصغر إلى زيادة سرعة عمليات التحميل والتنزيل والنقل.

  • نسبة ضغط أعلى: يقوم تنسيق 7z بضغط الملفات بكفاءة أكبر، مما يقلل من حجم الملف للحصول على تخزين مثالي.

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

لتحويل أرشيفات ZIP إلى تنسيق 7z، تحتاج إلى تثبيت Conholdate.Total for .NET باستخدام أمر تثبيت NuGet التالي في Microsoft Visual Studio IDE:

PM> NuGet\Install-Package Conholdate.Total

تحويل ZIP إلى 7z في C#

يمكنك اتباع الخطوات التالية لتحويل ZIP إلى 7z في C#:

  • الأرشيف: يمثل هذا ملف ZIP الذي تريد تحويله. تُستخدم فئة الأرشيف لفتح ملف ZIP وقراءته.

  • SevenZipArchive: تستخدم هذه الفئة لإنشاء أرشيف 7z وحفظه.

  • SevenZipEntrySettings: تحدد إعدادات الضغط لتنسيق 7z. في هذه الحالة، نستخدم خوارزمية الضغط LZMA2 لتحقيق أقصى قدر من كفاءة الضغط.

  • MemoryStream: يتم نسخ بيانات الملف إلى الذاكرة باستخدام تيار، ويتم إضافة كل إدخال من ملف ZIP إلى أرشيف 7z الجديد.

يوضح الكود النموذجي أدناه كيفية تحويل ZIP إلى 7z في C#:

using (Archive source = new Archive("source.zip"))
{
    using (var archive = new Aspose.Zip.SevenZip.SevenZipArchive(new SevenZipEntrySettings(new SevenZipLZMA2CompressionSettings())))
    {
        foreach (ArchiveEntry entry in source.Entries)
        {
            if (!entry.IsDirectory)
            {
                MemoryStream mem = new MemoryStream();
                entry.Open().CopyTo(mem);
                mem.Seek(0, SeekOrigin.Begin);
                archive.CreateEntry(entry.Name, mem);
            }
        }
        archive.Save("result.7z");
    }
}

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

يمكنك الحصول على ترخيص مؤقت مجاني لتقييم تحويلات الأرشيف المختلفة أو معالجاته من جانبك.

خاتمة

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

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

هل يمكنني حماية أرشيف 7z بكلمة مرور؟

نعم، يدعم تنسيق 7z التشفير المتقدم، مما يسمح لك بتأمين أرشيفك بكلمة مرور.

هل يمكنني تحويل ملفات ZIP متعددة إلى 7z في عملية واحدة؟

نعم، يمكنك المرور عبر ملفات ZIP المتعددة وتطبيق نفس المنطق للتحويل.

هل أحتاج إلى تثبيت برنامج 7-Zip على جهازي؟

لا، يتضمن Conholdate.Total لـ .NET كافة المكونات الضرورية للعمل مع 7z دون الحاجة إلى برامج إضافية.

انظر أيضا