
مقدمة إلى أرشيفات ZIP في C#
أرشيفات ZIP ضرورية لضغط وتنظيم الملفات والمجلدات في حاوية واحدة قابلة للإدارة. فهي لا تقلل فقط من أحجام الملفات لتخزين ونقل فعالين، بل تحافظ أيضًا على البيانات الوصفية ويمكن تشفيرها لتعزيز الأمان. في هذه المقالة، سنستكشف طرقًا مختلفة لـ إنشاء ملفات ZIP برمجيًا في C#,، بما في ذلك كيفية إضافة الملفات والمجلدات، وإنشاء أرشيفات محمية بكلمة مرور، وتطبيق تشفير AES.
ما ستتعلمه
في هذه المقالة، ستكتشف كيفية:
- إنشاء أرشيف ZIP باستخدام C#
- إضافة ملفات متعددة إلى أرشيف ZIP
- إضافة مجلدات إلى أرشيف ZIP
- إنشاء أرشيف ZIP محمي بكلمة مرور باستخدام ZipCrypto
- تشفير أرشيفات ZIP باستخدام تشفير AES
- تعيين وضع الضغط المتوازي
مكتبة C# ZIP
ال Aspose.ZIP for .NET المكتبة هي أداة قوية للتعامل مع عمليات ملفات ZIP داخل تطبيقات .NET، مما يجعل عملية ضغط أو فك ضغط الملفات والمجلدات أسهل. هذه المكتبة فعّالة بشكل خاص لـ معالجة الملفات الكبيرة في أرشيفات C# .NET ZIP وتدعم تشفير AES لتعزيز الأمان. يمكنك بسهولة تثبيت هذه المكتبة من NuGet أو تنزيل الملفات الثنائية من التنزيلات القسم.
إنشاء أرشيف ZIP في C#
لـ إنشاء ملف ZIP برمجيًا في C#,، اتبع الخطوات التالية:
- أنشئ FileStream كائن لأرشيف ZIP الناتج.
- افتح ملف المصدر كـ FileStream كائن.
- أنشئ نسخة من الأرشيف class.
- أضف الملف إلى archive باستخدام Archive.CreateEntry(string, FileStream) method.
- احفظ ZIP archive باستخدام Archive.Save(FileStream) method.
إليك عينة من الشيفرة توضح كيفية إضافة ملف إلى أرشيف ZIP بلغة C#:
using Aspose.Zip;
using Aspose.Zip.Saving;
// Create FileStream for output ZIP archive
using (FileStream zipFile = File.Open("compress_directory.zip", FileMode.Create))
{
using (Archive archive = new Archive(new ArchiveEntrySettings(null, new AesEcryptionSettings("p@s$", EncryptionMethod.AES128))))
{
// Add folder to archive
DirectoryInfo corpus = new DirectoryInfo("CanterburyCorpus");
archive.CreateEntries(corpus);
// Create ZIP archive
archive.Save(zipFile);
}
}
إضافة ملفات متعددة إلى أرشيف ZIP بلغة C#
عندما تحتاج إلى إضافة ملفات متعددة إلى ZIP archive,، يمكن اتخاذ عدة نهج. إليك الطرق التي يمكنك استخدامها مع C# لzip ملفات متعددة:
استخدام FileStream لإضافة ملفات متعددة
تستخدم هذه الطريقة. FileStream فئة لإضافة الملفات إلى أرشيف ZIP عبر الـ Archive.CreateEntry(String, FileStream) طريقة. إليك كيف يمكنك القيام بذلك:
using Aspose.Zip;
using Aspose.Zip.Saving;
// Create FileStream for output ZIP archive
using (FileStream zipFile = File.Open("compress_directory.zip", FileMode.Create))
{
using (Archive archive = new Archive(new ArchiveEntrySettings(null, new AesEcryptionSettings("p@s$", EncryptionMethod.AES128))))
{
// Add folder to archive
DirectoryInfo corpus = new DirectoryInfo("CanterburyCorpus");
archive.CreateEntries(corpus);
// Create ZIP archive
archive.Save(zipFile);
}
}
استخدام FileInfo للملفات المتعددة
بدلاً من ذلك، يمكنك استخدام الـ FileInfo فئة لتحميل الملفات وإضافتها إلى أرشيف ZIP باستخدام الـ Archive.CreateEntry(String, FileInfo) طريقة. فيما يلي عينة من الشيفرة:
استخدام مسارات الملفات
يمكنك أيضًا تقديم مسارات الملفات مباشرة إلى الـ Archive.CreateEntry(String name, String path, Boolean openImmediately, ArchiveEntrySettings newEntrySettings) طريقة. إليك مثالًا:
إضافة مجلدات إلى أرشيف ZIP في C#
لـ إضافة مجلد إلى أرشيف ZIP في C#,، اتبع الخطوات التالية:
- إنشاء FileStream كائن لإخراج أرشيف ZIP.
- إنشاء نسخة من Archive class.
- استخدم DirectoryInfo class لتحديد المجلد الذي تريد ضغطه.
- أضف المجلد إلى ZIP باستخدام Archive.CreateEntries(DirectoryInfo) method.
- احفظ أرشيف ZIP باستخدام the Archive.Save(FileStream) طريقة.
إليك عينة من الشيفرة توضح كيفية إضافة مجلد إلى ملف ZIP:
إنشاء ZIP محمي بكلمة مرور باستخدام ZipCrypto في C#
لتأمين أرشيفات ZIP الخاصة بك، يمكنك تطبيق حماية كلمة المرور باستخدام تشفير ZipCrypto. يتم ذلك عن طريق الاستفادة من ArchiveEntrySettings class في المُنشئ الخاص بـ الأرشيف,، التي تقبل نوع التشفير كمعامل. يمكنك استخدام C# Zip Archive Password طريقة لتطبيق ذلك بسهولة.
إليك كيفية إنشاء أرشيف ZIP محمي بكلمة مرور باستخدام ZipCrypto في C#:
إنشاء ZIP محمي بكلمة مرور باستخدام تشفير AES
المكتبة Aspose.ZIP for .NET المكتبة تدعم أيضًا تشفير AES لحماية أرشيفات ZIP. يمكنك الاختيار من طرق تشفير AES التالية:
- AES128
- AES192
- AES256
لتطبيق تشفير AES، استخدم AesEcryptionSettings class. أدناه عينة من الشيفرة توضح كيفية إنشاء ZIP محمي بكلمة مرور باستخدام تشفير AES في C#، بما في ذلك دعم C# كلمة مرور ملف Zip الميزة:
تعيين وضع الضغط المتوازي
للتعامل الفعال مع عدة مدخلات، يمكنك تكوين الـ API للضغط المتوازي باستخدام ParallelOptions class. أوضاع الضغط المتوازي المتاحة هي:
- أبدًا - لا تقم بالضغط بشكل متوازي.
- دائمًا - اضغط بشكل متوازي (احذر من مشاكل الذاكرة المحتملة).
- تلقائي - اتخاذ قرار تلقائي ما إذا كان يجب استخدام الضغط المتوازي بناءً على الإدخالات.
إليك كيفية تعيين وضع الضغط المتوازي أثناء ضغط عدة ملفات باستخدام مكتبة Aspose C# ZIP:
using Aspose.Zip;
using Aspose.Zip.Saving;
// For complete examples and data files, please go to https://github.com/aspose-zip/Aspose.ZIP-for-.NET
string dataDir = "";
using (FileStream zipFile = File.Open(dataDir + "UsingParallelismToCompressFiles_out.zip", FileMode.Create))
{
using (FileStream source1 = File.Open(dataDir + "alice29.txt", FileMode.Open, FileAccess.Read))
{
using (FileStream source2 = File.Open(dataDir + "asyoulik.txt", FileMode.Open, FileAccess.Read))
{
using (var archive = new Archive())
{
archive.CreateEntry("alice29.txt", source1);
archive.CreateEntry("asyoulik.txt", source2);
//Define the parallelism criterion
var parallelOptions = new Aspose.Zip.Saving.ParallelOptions
{
ParallelCompressInMemory = ParallelCompressionMode.Always
};
archive.Save(zipFile,
new ArchiveSaveOptions()
{
ParallelOptions = parallelOptions,
Encoding = Encoding.ASCII,
ArchiveComment = "There are two poems from Canterbury corpus"
});
}
}
}
}
تعرف على المزيد حول مكتبة C# .NET ZIP
لتعمق فهمك لـ مكتبة C# .NET ZIP,، استكشف الموارد التالية:
جرّب أداة الضغط ZIP عبر الإنترنت الخاصة بنا
يمكنك أيضًا تجربة تطبيقنا تطبيق مجاني عبر الإنترنت مستندًا إلى Aspose.ZIP لـ .NET لضغط الملفات إلى أرشيفات ZIP بسهولة.
الخلاصة
في هذه المقالة، تعلمت كيف إنشاء أرشيفات ZIP برمجيًا في C#. توضح عينات الشيفرة المقدمة كيفية إضافة الملفات والمجلدات إلى أرشيفات ZIP، وإنشاء ملفات ZIP محمية بكلمة مرور باستخدام طريقتي تشفير ZipCrypto و AES، وتكوين الضغط المتوازي. بالإضافة إلى ذلك، أنت الآن تفهم كيفية إنشاء ملفات ZIP في C#, بما في ذلك كيفية ضغط ملف, إنشاء ملف ZIP في C#, و إضافة ملفات إلى ZIP الأرشيفات. إذا كان لديك أي أسئلة أو تحتاج إلى مزيد من المساعدة، لا تتردد في التواصل معنا عبر المنتدى.
انظر أيضًا
موارد إضافية
إذا كنت تبحث عن مزيد من المعلومات حول كيفية إنشاء ملفات ZIP في C#,، فكر في الاطلاع على:
- كيفية ضغط الملفات في .NET باستخدام C#
- ملف Zip في C# مع كلمة مرور
- C# إنشاء ملف Zip من ملفات متعددة
- C# ضغط مجلد
- C# إضافة ملفات إلى Zip
دمج طرق مختلفة لـ إنشاء ملفات ZIP في C#,، مثل .NET Core Create ZIP File, C# إنشاء ملف ZIP برمجيًا,، و C# إضافة ملفات إلى ZIP,، يمكن أن يعزز بشكل كبير كفاءة تطويرك وقدرات معالجة البيانات.
يمكنك أيضًا استكشاف مثال ملف Zip C# لرؤية تنفيذ عملي لهذه الأساليب، مما سيعزز فهمك لكيفية ضغط ملفات في .NET باستخدام C#.