مقدمة في أرشيفات ZIP في C#
أرشيفات ZIP ضرورية لضغط وتنظيم الملفات والمجلدات في حاوية واحدة. فهي لا تقلل فقط من أحجام الملفات لتسهيل التخزين والنقل، بل تحافظ أيضًا على البيانات الوصفية ويمكن تشفيرها لأغراض الأمان. ستوجهك هذه المقالة عبر طرق مختلفة لـ إنشاء ملفات ZIP برمجيًا في C#، مع تغطية عمليات مثل إضافة الملفات والمجلدات، وإنشاء أرشيفات محمية بكلمة مرور، وتطبيق تشفير AES.
ما ستتعلمه
في هذه المقالة، ستكتشف كيفية:
- إنشاء أرشيف ZIP باستخدام C#
- إضافة ملفات متعددة إلى أرشيف ZIP
- إضافة مجلدات إلى أرشيف ZIP
- إنشاء أرشيف ZIP محمي بكلمة مرور باستخدام ZipCrypto
- تشفير أرشيف ZIP بتشفير AES
- تعيين وضع الضغط المتوازي
مكتبة ZIP C#
تعتبر Aspose.ZIP for .NET مكتبة قوية للتعامل مع عمليات ملفات ZIP ضمن تطبيقات .NET. تسهل هذه المكتبة عملية ضغط أو فك ضغط الملفات والمجلدات وتدعم تشفير AES لتعزيز الأمان. يمكنك تثبيت هذه المكتبة بسهولة من NuGet أو تنزيل الملفات الثنائية من قسم التنزيلات.
إنشاء أرشيف ZIP في C#
لـ إنشاء ملف ZIP برمجيًا في C#، اتبع الخطوات التالية:
- إنشاء كائن FileStream لأرشيف ZIP الناتج.
- فتح الملف المصدر ككائن FileStream.
- إنشاء كائن Archive.
- إضافة الملف إلى الأرشيف باستخدام طريقة Archive.CreateEntry(string, FileStream).
- حفظ أرشيف ZIP باستخدام طريقة Archive.Save(FileStream).
إليك مثال على كود يوضح كيفية إضافة ملف إلى أرشيف ZIP في C#:
إضافة ملفات متعددة إلى أرشيف ZIP في C#
عندما تحتاج إلى إضافة ملفات متعددة إلى أرشيف ZIP، يمكنك استخدام العديد من الأساليب:
استخدام FileStream لإضافة ملفات متعددة
تستخدم هذه الطريقة فئة FileStream لإضافة ملفات إلى أرشيف ZIP عبر طريقة Archive.CreateEntry(String, FileStream). إليك كيفية القيام بذلك:
استخدام FileInfo للملفات المتعددة
بدلاً من ذلك، يمكنك استخدام فئة FileInfo لتحميل الملفات وإضافتها إلى أرشيف ZIP باستخدام طريقة Archive.CreateEntry(String, FileInfo). فيما يلي مثال على الكود:
استخدام مسارات الملفات
يمكنك أيضًا تقديم مسارات الملفات مباشرة إلى طريقة Archive.CreateEntry(String name, String path, Boolean openImmediately, ArchiveEntrySettings newEntrySettings). إليك مثال:
إضافة مجلدات إلى أرشيف ZIP في C#
لـ إضافة مجلد إلى أرشيف ZIP في C#، يمكنك اتباع الخطوات التالية:
- إنشاء كائن FileStream لأرشيف ZIP الناتج.
- إنشاء كائن Archive.
- استخدام فئة DirectoryInfo لتحديد المجلد الذي تريد ضغطه.
- إضافة المجلد إلى ZIP باستخدام طريقة Archive.CreateEntries(DirectoryInfo).
- حفظ أرشيف ZIP باستخدام طريقة Archive.Save(FileStream).
إليك مثال على كود يوضح كيفية إضافة مجلد إلى ملف ZIP:
إنشاء ZIP محمي بكلمة مرور باستخدام ZipCrypto في C#
لتأمين أرشيفات ZIP الخاصة بك، يمكنك تطبيق حماية بكلمة مرور باستخدام تشفير ZipCrypto. يتم ذلك من خلال استخدام فئة ArchiveEntrySettings في مُنشئ Archive، الذي يقبل نوع التشفير كمعامل.
إليك كيفية إنشاء أرشيف ZIP محمي بكلمة مرور باستخدام ZipCrypto في C#:
إنشاء ZIP محمي بكلمة مرور مع تشفير AES
تدعم مكتبة Aspose.ZIP for .NET أيضًا تشفير AES لحماية أرشيفات ZIP. يمكنك الاختيار من بين طرق تشفير AES التالية:
- AES128
- AES192
- AES256
لتطبيق تشفير AES، استخدم فئة AesEcryptionSettings. فيما يلي مثال على كود يوضح كيفية إنشاء ZIP محمي بكلمة مرور مع تشفير AES في C#:
تعيين وضع الضغط المتوازي
للتعامل بكفاءة مع إدخالات متعددة، يمكنك تكوين واجهة برمجة التطبيقات لوضع ضغط متوازي باستخدام فئة ParallelOptions. أوضاع الضغط المتوازي المتاحة هي:
- أبدًا - عدم الضغط بشكل متوازي.
- دائمًا - الضغط بشكل متوازي (احذر من مشكلات الذاكرة المحتملة).
- تلقائي - تحديد تلقائيًا ما إذا كان يجب استخدام الضغط المتوازي بناءً على الإدخالات.
إليك كيفية تعيين وضع الضغط المتوازي أثناء ضغط ملفات متعددة باستخدام مكتبة Aspose C# ZIP:
تعرف على المزيد حول مكتبة ZIP C# .NET
لتعميق فهمك لـ مكتبة ZIP C#، استكشف الموارد التالية:
جرب أداة ضغط ZIP عبر الإنترنت
يمكنك أيضًا تجربة تطبيقنا المجاني عبر الإنترنت المستند إلى Aspose.ZIP for .NET لضغط الملفات في أرشيفات ZIP بسهولة.
الخاتمة
في هذه المقالة، تعلمت كيفية إنشاء أرشيفات ZIP برمجيًا في C#. توضح أمثلة الكود المقدمة كيفية إضافة ملفات ومجلدات إلى أرشيفات ZIP، وإنشاء ملفات ZIP محمية بكلمة مرور باستخدام ZipCrypto وطرق تشفير AES، وتكوين الضغط المتوازي. إذا كان لديك أي أسئلة أو تحتاج إلى مزيد من المساعدة، فلا تتردد في التواصل معنا عبر المنتدى.