كيفية ضغط مجلد في C#
كيفية ضغط مجلد في C#
هذه المقالة السريعة تشرح كيفية ضغط مجلد في C#. توفر خطوات مفصلة وعينة من الشيفرة للمساعدة في إنشاء ملف ZIP لمجلد ومحتوياته. لا تتطلب هذه الحلول تثبيت أي أدوات خارجية.
فوائد ضغط المجلدات
- كفاءة المساحة:
- يقلل من مساحة التخزين عن طريق ضغط الملفات.
- إدارة الملفات المنظمة:
- يجمع ملفات متعددة في أرشيف واحد لتسهيل التوزيع والإدارة.
- نقل أسرع:
- أحجام ملفات أصغر تؤدي إلى أوقات تحميل وتنزيل أسرع.
المتطلبات المسبقة: إعداد البيئة
- إعداد Visual Studio أو أي بيئة تطوير متكاملة متوافقة مع .NET.
- تثبيت مكتبة Aspose.ZIP عبر مدير حزم NuGet.
دليل خطوة بخطوة لضغط مجلد
الخطوة 1: تثبيت Aspose.ZIP
أضف مكتبة Aspose.ZIP إلى مشروعك.
Install-Package Aspose.ZIP
الخطوة 2: إنشاء كائن FileStream
قم بإنشاء كائن FileStream
لملف ZIP الناتج.
using System.IO;
var zippedFolder = File.Open("AnimationImages.zip", FileMode.Create);
الخطوة 3: إنشاء كائن ZIP Archive
أنشئ مثيلًا من فئة Archive
للتعامل مع عمليات ZIP.
using (Archive archiveFile = new Archive())
{
// يتبع المزيد من المعالجة هنا
}
الخطوة 4: إنشاء إدخالات في الأرشيف
أضف جميع الملفات والمجلدات من الدليل المستهدف بشكل متكرر.
archiveFile.CreateEntries("AnimationImages");
الخطوة 5: حفظ ملف ZIP
بمجرد إنشاء الإدخالات، احفظ الأرشيف على القرص.
archiveFile.Save(zippedFolder);
مثال كامل على الشيفرة لضغط مجلد
إليك المثال الكامل بلغة C# الذي يوضح كيفية ضغط مجلد:
// إنشاء كائن تدفق ملف لملف zip الناتج
using (FileStream zippedFolder = File.Open("AnimationImages.zip", FileMode.Create))
{
// إنشاء كائن فئة ملف أرشيف Zip
using (Archive archiveFile = new Archive())
{
// إضافة جميع الملفات والمجلدات بشكل متكرر
archiveFile.CreateEntries("AnimationImages");
// حفظ ملف ZIP الناتج
archiveFile.Save(zippedFolder);
}
}
معلومات إضافية
- يمكنك توفير كائن فئة DirectoryInfo كمصدر للملفات لملف ZIP الناتج.
- يمكنك أيضًا تضمين علامات للتحكم فيما إذا كان سيتم تضمين المجلد الجذري في ملف ZIP الناتج.
الخاتمة
لقد أرشدك هذا الدليل خلال عملية ضغط مجلد كامل في C#. مع بضع أسطر من الشيفرة، يمكنك بسهولة إدارة هياكل المجلدات وإنشاء أرشيفات ZIP بكفاءة. للحصول على مزيد من الوظائف، تحقق من الدروس حول استخراج ملفات ZIP أو إنشاء أنواع مختلفة من الأرشيفات.