
في منشور المدونة هذا، سنستكشف كيفية تحويل ملفات ZIP إلى تنسيق TGZ(tar.gz) باستخدام C#. يعد التحويل من ZIP إلى TGZ مهمة شائعة، خاصة عند التعامل مع الملفات المضغوطة لأنظمة تشبه Unix. يتضمن البرنامج التعليمي التالي شرحًا خطوة بخطوة والرمز الضروري للبدء.
لماذا تحويل ZIP إلى TGZ؟
قد تحتاج إلى تحويل تنسيق ZIP إلى تنسيق TGZ لأسباب مختلفة مثل:
التوافق بين الأنظمة الأساسية: تُستخدم ملفات TGZ بشكل شائع على الأنظمة المستندة إلى Unix (Linux وmacOS)، بينما تحظى ملفات ZIP بشعبية كبيرة على Windows. يسهل تحويل ZIP إلى TGZ التعامل مع الملفات المضغوطة عبر بيئات مختلفة.
فوائد الضغط: توفر ملفات TGZ عمومًا نسب ضغط أفضل مقارنةً بملفات ZIP، مما يوفر مساحة التخزين ويقلل أوقات النقل.
أتمتة المهام: في C#، يمكن أن يؤدي أتمتة تحويلات تنسيقات الملفات إلى توفير الوقت والجهد، وخاصة في التطبيقات التي تتعامل مع أحجام كبيرة من البيانات.
محول ZIP إلى TGZ - تكوين واجهة برمجة التطبيقات C#
يمكنك تحويل ZIP إلى TGZ عن طريق تثبيت Conholdate.Total for .NET عن طريق تشغيل أمر NuGet التالي في Visual Studio IDE:
PM> NuGet\Install-Package Conholdate.Total
تحويل ZIP إلى TGZ في C#
تُظهر الخطوات التالية كيفية تحويل ZIP إلى TGZ في C#:
تحميل ملف ZIP: تقوم فئة الأرشيف بتحميل ملف ZIP المصدر الذي يحتوي على الإدخالات التي تريد تحويلها إلى تنسيق TGZ.
إنشاء TarArchive: نقوم بإنشاء كائن TarArchive لبدء تحضير المحتوى لملف TGZ.
معالجة الإدخالات: يتم تكرار كل إدخال في ملف ZIP. إذا لم يكن دليلاً، فإننا نستخرج بياناته إلى MemoryStream.
إضافة الإدخالات إلى TarArchive: بالنسبة لكل إدخال صالح، يتم استخدام طريقة CreateEntry لإضافة الملف إلى tarball، إلى جانب البيانات المخزنة في الذاكرة.
الحفظ بتنسيق TGZ: يتم استدعاء طريقة SaveGzipped لضغط ملف tarball وحفظه كملف .tar.gz.
يعرض مقتطف التعليمات البرمجية التالي تحويل ZIP إلى TGZ في C#:
using (Archive source = new Archive("source.zip"))
{
using (Aspose.Zip.Tar.TarArchive tar = new Aspose.Zip.Tar.TarArchive())
{
foreach (ArchiveEntry entry in source.Entries)
{
if (!entry.IsDirectory)
{
MemoryStream mem = new MemoryStream();
entry.Open().CopyTo(mem);
tar.CreateEntry(entry.Name, mem);
}
}
tar.SaveGzipped("result.tar.gz");
}
}
رخصة التقييم المجانية
يمكنك طلب ترخيص مؤقت مجاني لاختبار تحويل ZIP دون أي قيود تقييم في بيئتك.
خاتمة
إن تحويل ZIP إلى TGZ في C# عملية بسيطة لمعالجة الأرشيفات المضغوطة. سواء كنت تتعامل مع مشاركة الملفات عبر الأنظمة الأساسية أو تحسين أحجام الملفات، فإن عملية التحويل هذه مفيدة للغاية. باتباع مثال التعليمات البرمجية المقدم، يمكنك أتمتة تحويل ZIP إلى TGZ في تطبيقات .NET الخاصة بك، مما يضمن التوافق والكفاءة في إدارة الملفات المضغوطة. في حالة وجود أي أسئلة، يرجى الكتابة إلينا على forum.
الأسئلة الشائعة
هل يدعم Windows تنسيق TGZ؟
نعم، على الرغم من أنه أكثر شيوعًا على الأنظمة المستندة إلى Unix، إلا أنه يمكن أيضًا استخراج ملفات TGZ وإنشاؤها على Windows.
هل يمكنني تضمين الدلائل في أرشيف TGZ؟
نعم، يمكن تعديل الكود ليشمل الدلائل عن طريق إزالة فحص !entry.IsDirectory ومعالجة الدلائل وفقًا لذلك.
هل من الممكن أتمتة تحويل ZIP إلى TGZ؟
نعم، يمكن دمج الكود المقدم في تطبيقات C# الأكبر حجمًا، مما يسمح بالتحويلات التلقائية في دفعة أو مهام مجدولة.