
C# Archive: تعلم كيفية استخدام فئة Archive لتعامل ZIP شامل.
أرشيفات ZIP تُعد أساسية لضغط وتنظيم الملفات والمجلدات في حاوية واحدة قابلة للإدارة. فهي لا تقلل فقط من حجم الملفات لتخزينها ونقلها بكفاءة، بل تحافظ أيضًا على البيانات الوصفية ويمكن تشفيرها لتعزيز الأمان. في هذه المقالة، سنستكشف طرقًا مختلفة لـ إنشاء ملفات ZIP برمجيًا باستخدام C#, بما في ذلك كيفية إضافة الملفات والمجلدات، وإنشاء أرشيفات محمية بكلمة مرور، وتطبيق تشفير AES.
ما ستتعلم
في هذه المقالة سوف تعلم كيفية:
- إنشاء ملف ZIP باستخدام C#
- إضافة ملفات متعددة إلى ملف ZIP
- إضافة ملفات إلى ملف ZIP
- إنشاء حزمة بيانات ZIP محمية بالرمز باستخدام ZipCrypto
- تشفير ملف ZIP باستخدام AES Encryption
- وضع وضع مكيف التكسير
C# مكتبة ZIP
ال Aspose.ZIP for .NET المكتبة هي أداة قوية للتعامل مع عمليات ملفات ZIP داخل تطبيقات .NET، مما يجعل ضغط أو فك ضغط الملفات والمجلدات أسهل. هذه المكتبة فعّالة بشكل خاص لـ معالجة الملفات الكبيرة في أرشيفات ZIP باستخدام C# .NET ويدعم تشفير AES لتعزيز الأمان. يمكنك بسهولة تثبيت هذه المكتبة من NuGet أو قم بتنزيل الملفات الثنائية من التنزيلات قسم.
إنشاء ملف ZIP في C#
إلى إنشاء ملف ZIP برمجيًا في C#,، اتبع هذه الخطوات:
- أنشئ FileStream كائن لأرشيف ZIP الناتج.
- افتح ملف المصدر كـ FileStream كائن.
- إنشاء نسخة من الأرشيف صف.
- أضف الملف إلى الأرشيف باستخدام the Archive.CreateEntry(string, FileStream) طريقة.
- احفظ أرشيف ZIP باستخدام Archive.Save(FileStream) طريقة.
إليك نموذج من الكود الذي يظهر كيفية إضافة ملف إلى حافلة 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, يمكن اتخاذ عدة نهج. إليك الطرق التي يمكنك استخدامها مع C# لضغط ملفات متعددة:
استخدام 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 الناتج.
- إنشاء نسخة من الأرشيف صف.
- استخدم DirectoryInfo فئة لتحديد المجلد الذي تريد ضغطه.
- أضف المجلد إلى ملف ZIP باستخدام . Archive.CreateEntries(DirectoryInfo) طريقة.
- احفظ أرشيف ZIP باستخدام Archive.Save(FileStream) طريقة.
إليك نموذج من الكود الذي يظهر كيفية إضافة ملف ZIP:
إنشاء رمز رمزية حماية ZIP باستخدام ZipCrypto في C#
لتأمين أرشيفات ZIP الخاصة بك، يمكنك تطبيق حماية كلمة المرور باستخدام تشفير ZipCrypto. يتم ذلك عن طريق الاستفادة من the ArchiveEntrySettings class في المُنشئ الخاص بـ الأرشيف, التي تقبل نوع التشفير كمعامل. يمكنك استخدام C# كلمة مرور أرشيف Zip طريقة لتنفيذ ذلك بسهولة.
إليك مثال على كيفية إنشاء حزمة بيانات ZIP محمية بالرمز باستخدام ZipCrypto في C#:
إنشاء رمز رمزية حماية ZIP مع AES Encryption
ال Aspose.ZIP for .NET المكتبة تدعم أيضًا تشفير AES لحماية أرشيفات ZIP. يمكنك الاختيار من طرق تشفير AES التالية:
- AES128
- AES192
- AES256
لتطبيق تشفير AES، استخدم الـ AesEcryptionSettings الفئة. أدناه عينة من الشيفرة توضح كيفية إنشاء ملف ZIP محمي بكلمة مرور مع تشفير AES في C#، بما في ذلك الدعم لـ C# كلمة مرور ملف Zip ميزة:
وضع وضع وضع التكسير المباشر
للتعامل الفعال مع عدة مدخلات، يمكنك تكوين واجهة برمجة التطبيقات لضغط متوازي باستخدام . ParallelOptions الفئة. أوضاع الضغط المتوازي المتاحة هي:
- أبدًا - لا تقم بالضغط بالتوازي.
- دائمًا - ضغط بشكل متوازي (احذر من مشاكل الذاكرة المحتملة).
- سيارة - اتخاذ قرار تلقائيًا ما إذا كان يجب استخدام الضغط المتوازي بناءً على الإدخالات.
هنا هو كيفية إعداد وضع التكسير الموازي أثناء تسجيل الملفات متعددة باستخدام مكتبة 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 Library
لتعميق فهمك لـ مكتبة ZIP لـ C# .NET, استكشف الموارد التالية:
تجربة أداة التخزين ZIP على الانترنت
يمكنك أيضًا تجربة ما لدينا تطبيق مجاني عبر الإنترنت استنادًا إلى Aspose.ZIP لـ .NET لضغط الملفات في أرشيفات ZIP بسهولة.
الخاتمة
في هذه المقالة، لقد تعلمت كيف. إنشاء أرشيفات ZIP برمجيًا باستخدام C#. توضح عينات الشيفرة المقدمة كيفية إضافة الملفات والمجلدات إلى أرشيفات ZIP، وإنشاء ملفات ZIP محمية بكلمة مرور باستخدام طرق تشفير ZipCrypto و AES، وتكوين الضغط المتوازي. بالإضافة إلى ذلك، أنت الآن تفهم كيفية إنشاء ملفات ZIP في C#, بما في ذلك كيفية ضغط ملف, إنشاء ملف ZIP في C#, و إضافة ملفات إلى ZIP الأرشيف. إذا كان لديك أي أسئلة أو تحتاج إلى مزيد من المساعدة، لا تتردد في التواصل معنا عبر our منتدى.
هذا أيضا
الموارد الإضافية
إذا كنت تبحث عن مزيد من المعلومات حول كيفية إنشاء ملفات ZIP في C#, فكر في الاطلاع على:
- كيفية إرسال ملفات في .NET مع C#
- C# Zip File مع كلمة المرور
- C# إنشاء ملف Zip من ملفات متعددة
- C# مكتبة ZIP
- إليك نموذج من الكود الذي يظهر كيفية إضافة ملف إلى حافلة ZIP باستخدام C#:
دمج طرق مختلفة لـ إنشاء ملفات ZIP في C#, مثل .NET Core إنشاء ملف ZIP, C# إنشاء ملف ZIP برمجيًا, و C# إضافة ملفات إلى ZIP, يمكن أن يعزز بشكل كبير كفاءة التطوير لديك وقدرات معالجة البيانات.
يمكنك أيضًا استكشاف مثال ملف Zip C# لرؤية تنفيذ عملي لهذه الأساليب، مما سيعزز فهمك لكيفية ضغط ملفات zip في .NET باستخدام C#.