نظرة عامة
يمكننا تقسيم أدوات الأرشفة والضغط إلى ثلاث فئات رئيسية:- أرشفة عدة ملفات عادةً بالضغط - ZIP، 7Z، XAR؛
- تخزين عدة ملفات بدون ضغط - TAR، CPIO؛
- الضغط -تنسيقات فقط بدون إدخالات - GZ، LZ، BZIP2، XZ، ZStandard، Z.
غالبًا ما يتم دمج أرشيفات الفئة الثانية مع تنسيقات الضغط فقط. وهي تحظى بشعبية كبيرة في الأنظمة المشابهة لنظام Unix بفضل عملياتها المميزة - واحدة للأرشفة وأخرى للضغط. فيما يلي شرح وعينات لكل نوع من أنواع الأرشيف.
الأرشيفات المضغوطة التي تحتوي على ملفات متعددة
نستخدم طريقة CreateEntry لكل ملف يتم ضغطه. في هذه العينات، لا نوفر إعدادات الضغط بحيث تكون افتراضية للتنسيق المختار.كيفية ضغط عدة ملفات
الافتراضي هو خوارزمية انكماش
Zip compression with Deflate algoritm
using (Archive archive = new Archive())
{
archive.CreateEntry("first.bin", "data1.bin");
archive.CreateEntry("second.bin", "data2.bin");
// Add as many entries as you need
archive.Save("archive.zip");
}
كيفية إنشاء أرشيفات 7-ZIP لعدة ملفات
الافتراضي لـ 7-zip هو خوارزمية LZMA
7-Zip with LZMA algorithm
using (SevenZipArchive archive = new SevenZipArchive())
{
archive.CreateEntry("first.bin", "data1.bin");
archive.CreateEntry("second.bin", "data2.bin");
// Add as many entries as you need
archive.Save("archive.7z");
}
أرشيف XAR مع عدة ملفات
الافتراضي هو خوارزمية ZLib
XAR with ZLib algorithm
using (XarArchive archive = new XarArchive())
{
archive.CreateEntry("first.bin", "data1.bin");
archive.CreateEntry("second.bin", "data2.bin");
// Add as many entries as you need
archive.Save("archive.xar");
}
تخزين عدة ملفات بدون ضغط
نهج تنسيقات TAR وCPIO مشابه ويكمن في طريقة CreateEntry المعروفة بالفعل.أرشيف TAR بدون ضغط
TAR storing files without compression
using (TarArchive archive = new TarArchive())
{
archive.CreateEntry("first.bin", "data1.bin");
archive.CreateEntry("second.bin", "data2.bin");
// Add as many entries as you need
archive.Save("archive.tar");
}
أرشيف CPIO بدون ضغط
CPIO storing files without compression
using (TarArchive archive = new TarArchive())
{
archive.CreateEntry("first.bin", "data1.bin");
archive.CreateEntry("second.bin", "data2.bin");
// Add as many entries as you need
archive.Save("archive.cpio");
}
تنسيقات الضغط فقط بدون إدخالات
مثل هذه الأرشيفات مثل GZIP وLZ وBZIP2 وXZ وZ لا تدعم الإدخالات ويمكنها ضغط مصدر واحد فقط. انظر العينات مع هذا الضغط.أرشيف GZ - تنسيقات الضغط فقط بدون إدخالات
GZIP with compress only single source
using (FileStream source = File.Open("alice29.txt", FileMode.Open, FileAccess.Read))
{
using (GzipArchive archive = new GzipArchive())
{
archive.SetSource(source);
archive.Save("archive.gz");
}
}
أرشيف LZ هو تنسيقات الضغط فقط بدون إدخالات
LZIP with compress only single source
using (FileStream source = File.Open("alice29.txt", FileMode.Open, FileAccess.Read))
{
using (GzipArchive archive = new GzipArchive())
{
archive.SetSource(source);
archive.Save("archive.gz");
}
}
يسمح Aspose.ZIP بدمج تنسيقات الأرشيف فقط والضغط فقط بطريقة واحدة. فيما يلي مثال لهذه الوظيفة مع مجموعة TAR.GZ. لتحقيق ذلك، نستخدم طريقة SaveGzipped.
تركيبة TAR.GZ
توجد طرق مشابهة لتنسيقات الضغط LZIP وXZ وZStandard وZ.
TAR.GZ with SaveGzipped method
using (TarArchive archive = new TarArchive())
{
archive.CreateEntry("first.bin", "data1.bin");
archive.CreateEntry("second.bin", "data2.bin");
archive.SaveGzipped("archive.tar.gz");
}
TAR.BZ2
ومع ذلك، نحتاج إلى استخدام طريقة أخرى لتنسيق BZIP2.
BZIP2 with SaveGzipped method
using (TarArchive tar = new TarArchive())
{
tar.CreateEntry("first.bin", "data1.bin");
tar.CreateEntry("second.bin", "data2.bin");
using (Bzip2Archive archive = new Bzip2Archive())
{
archive.SetSource(tar);
archive.Save("archive.tar.bz2");
}
}
ميزات Aspose.ZIP الأخرى المدعومة لـ .NET API
استخدم مكتبة Aspose.ZIP C# لتحويل مستندات الملفات المضغوطة ودمجها وتحريرها واستخراج البيانات من الأرشيفات والمزيد!
Support and Learning Resources
- Learning Resources
- Documentation
- Source Code
- API References
- Tutorial Videos
- Product Support
- Free Support
- Paid Support
- Blog
- Release Notes
- Why Aspose.ZIP for .NET?
- Customers List
- Success Stories