إنشاء ZIP في C#

مقدمة في أرشيفات ZIP في C#

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

ما ستتعلمه

في هذه المقالة، ستكتشف كيفية:

مكتبة ZIP في C#

تعتبر مكتبة [Aspose.ZIP for .NET][3] أداة قوية للتعامل مع عمليات ملفات ZIP ضمن تطبيقات .NET، مما يسهل ضغط أو فك ضغط الملفات والمجلدات. كما أنها تدعم تشفير AES لزيادة الأمان. يمكنك تثبيت هذه المكتبة بسهولة من [NuGet][4] أو تنزيل الملفات الثنائية من قسم [التنزيلات][5].

إنشاء أرشيف ZIP في C#

لـ إنشاء ملف ZIP برمجيًا في C#، اتبع هذه الخطوات:

  1. إنشاء كائن [FileStream][6] لأرشيف ZIP الناتج.
  2. فتح ملف المصدر ككائن FileStream.
  3. إنشاء كائن من الفئة [Archive][7].
  4. إضافة الملف إلى الأرشيف باستخدام الطريقة [Archive.CreateEntry(string, FileStream)][8].
  5. حفظ أرشيف ZIP باستخدام الطريقة [Archive.Save(FileStream)][9].

إليك نموذج كود يوضح كيفية إضافة ملف إلى أرشيف ZIP في C#:

إضافة ملفات متعددة إلى أرشيف ZIP في C#

عندما تحتاج إلى إضافة ملفات متعددة إلى أرشيف ZIP، هناك عدة طرق يمكنك اتخاذها:

استخدام FileStream لإضافة ملفات متعددة

تستخدم هذه الطريقة فئة FileStream لإضافة الملفات إلى أرشيف ZIP عبر الطريقة [Archive.CreateEntry(String, FileStream)][10]. إليك كيفية القيام بذلك:

استخدام FileInfo للملفات المتعددة

بدلاً من ذلك، يمكنك استخدام فئة [FileInfo][11] لتحميل الملفات وإضافتها إلى أرشيف ZIP باستخدام الطريقة [Archive.CreateEntry(String, FileInfo)][12]. فيما يلي نموذج كود:

استخدام مسارات الملفات

يمكنك أيضًا تقديم مسارات الملفات مباشرة إلى الطريقة [Archive.CreateEntry(String name, String path, Boolean openImmediately, ArchiveEntrySettings newEntrySettings)][13]. إليك مثال:

إضافة مجلدات إلى أرشيف ZIP في C#

لـ إضافة مجلد إلى أرشيف ZIP في C#، اتبع هذه الخطوات:

  1. إنشاء كائن [FileStream][14] لأرشيف ZIP الناتج.
  2. إنشاء كائن من الفئة [Archive][15].
  3. استخدام فئة [DirectoryInfo][16] لتحديد المجلد الذي تريد ضغطه.
  4. إضافة المجلد إلى ZIP باستخدام الطريقة [Archive.CreateEntries(DirectoryInfo)][17].
  5. حفظ أرشيف ZIP باستخدام الطريقة [Archive.Save(FileStream)][18].

إليك نموذج كود يوضح كيفية إضافة مجلد إلى ملف ZIP:

إنشاء ZIP محمي بكلمة مرور باستخدام ZipCrypto في C#

لضمان أمان أرشيفات ZIP الخاصة بك، يمكنك تطبيق حماية بكلمة مرور باستخدام تشفير ZipCrypto. يتم ذلك من خلال استخدام فئة [ArchiveEntrySettings][19] في مُنشئ [Archive][20]، الذي يقبل نوع التشفير كمعامل.

إليك كيفية إنشاء أرشيف ZIP محمي بكلمة مرور باستخدام ZipCrypto في C#:

إنشاء ZIP محمي بكلمة مرور مع تشفير AES

تدعم مكتبة Aspose.ZIP for .NET أيضًا تشفير AES لحماية أرشيفات ZIP. يمكنك الاختيار من بين طرق تشفير AES التالية:

  • AES128
  • AES192
  • AES256

لتطبيق تشفير AES، استخدم فئة [AesEcryptionSettings][21]. فيما يلي نموذج كود يوضح كيفية إنشاء ZIP محمي بكلمة مرور مع تشفير AES في C#:

تعيين وضع الضغط المتوازي

للتعامل بكفاءة مع إدخالات متعددة، يمكنك تكوين واجهة برمجة التطبيقات لوضع الضغط المتوازي باستخدام فئة [ParallelOptions][22]. أوضاع الضغط المتوازي المتاحة هي:

  • أبدًا - لا تضغط بشكل متوازي.
  • دائمًا - اضغط بشكل متوازي (كن حذرًا من مشاكل الذاكرة المحتملة).
  • تلقائي - قرر تلقائيًا ما إذا كنت ستستخدم الضغط المتوازي بناءً على الإدخالات.

إليك كيفية تعيين وضع الضغط المتوازي أثناء ضغط ملفات متعددة باستخدام مكتبة Aspose C# ZIP:

تعرف على المزيد حول مكتبة ZIP في C# .NET

لتعميق فهمك لمكتبة C# ZIP، استكشف الموارد التالية:

جرب أداة ضغط ZIP عبر الإنترنت

يمكنك أيضًا تجربة التطبيق المجاني عبر الإنترنت المستند إلى Aspose.ZIP لـ .NET لضغط الملفات في أرشيفات ZIP بسهولة.

الخاتمة

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

انظر أيضًا

فك ضغط أو استخراج الملفات باستخدام C#فك ضغط الملفات في أرشيفات ZIP باستخدام C#إنشاء أرشيفات 7z (7-Zip) في C# .NET
فتح أو استخراج ملف 7z (7zip) في C# .NETإنشاء واستخراج أرشيفات GZip باستخدام C#تحويل ملفات RAR إلى أرشيف ZIP في C#
تحويل أرشيفات ZIP إلى TAR في C#إنشاء أرشيف ZIP مسطح في C#إنشاء أرشيف ذاتي الاستخراج في C#
إنشاء ملفات TAR.GZ و TAR.XZ في C#حذف الملفات في أرشيف ZIP في C#استخراج أرشيفات ZIP المتداخلة في C#
دمج أرشيفات ZIP أو TAR متعددة في C#كيفية إنشاء ملفات ZIPاستخراج 7z عبر الإنترنت