تعديل ملفات Zip باستخدام Aspose.Zip لـ .NET
مقدمة
ملفات Zip ضرورية لتنظيم البيانات وضغطها، ولكن كيف يمكنك تعديل محتوياتها برمجيًا؟ يكمن الحل في Aspose.Zip for .NET، وهي مكتبة قوية تبسط معالجة ملفات Zip باستخدام C#. في هذا البرنامج التعليمي، سنرشدك خلال استخراج وحذف وإضافة إدخالات إلى ملفات Zip خطوة بخطوة.
المتطلبات الأساسية
قبل أن نبدأ، تأكد من أن لديك ما يلي:
-
Aspose.Zip for .NET Library: قم بتثبيت المكتبة في مشروعك. يمكنك تنزيلهاهنا.
-
دليل المستندات: قم بإعداد دليل لتخزين ملفات zip الخاصة بك. استبدل
"Your Document Directory"
في الكود مع المسار الفعلي الخاص بك.
استيراد المساحات الاسمية الضرورية
ابدأ باستيراد المساحات المطلوبة:
using Aspose.Zip;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
الخطوة 1: افتح ملف ZIP الخارجي
ابدأ بفتح ملف zip الرئيسي (zip الخارجي):
string dataDir = "Your Data Directory";
using (Archive outer = new Archive(dataDir + "outer.zip"))
{
// انتقل إلى تحديد إدخالات الرمز البريدي الداخلية
}
الخطوة 2: تحديد إدخالات الرمز البريدي الداخلية
بعد ذلك، قم بتحديد أي ملفات مضغوطة داخلية والاستعداد لحذفها:
List<ArchiveEntry> entriesToDelete = new List<ArchiveEntry>();
List<string> namesToInsert = new List<string>();
List<MemoryStream> contentToInsert = new List<MemoryStream>();
foreach (ArchiveEntry entry in outer.Entries)
{
if (entry.Name.EndsWith(".zip", StringComparison.InvariantCultureIgnoreCase))
{
entriesToDelete.Add(entry);
using (MemoryStream innerCompressed = new MemoryStream())
{
entry.Open().CopyTo(innerCompressed);
// استخراج الإدخالات الداخلية
using (Archive inner = new Archive(innerCompressed))
{
foreach (ArchiveEntry ie in inner.Entries)
{
namesToInsert.Add(ie.Name);
MemoryStream content = new MemoryStream();
ie.Open().CopyTo(content);
contentToInsert.Add(content);
}
}
}
}
}
الخطوة 3: حذف إدخالات الأرشيف الداخلي
بمجرد جمع الإدخالات التي تحتاجها، احذف إدخالات zip الداخلية:
foreach (ArchiveEntry e in entriesToDelete)
{
outer.DeleteEntry(e);
}
الخطوة 4: إضافة الإدخالات المعدلة إلى الملف Zip الخارجي
الآن، يمكنك إضافة الإدخالات المستخرجة حديثًا مرة أخرى إلى ملف zip الخارجي الخاص بك:
for (int i = 0; i < namesToInsert.Count; i++)
{
outer.CreateEntry(namesToInsert[i], contentToInsert[i]);
}
الخطوة 5: احفظ ملف ZIP المعدّل
وأخيرًا، احفظ التغييرات في ملف مضغوط جديد:
outer.Save(dataDir + "flatten.zip");
خاتمة
يوفر Aspose.Zip for .NET طريقة قوية ومباشرة للتعامل مع ملفات zip برمجيًا. تناول هذا البرنامج التعليمي استخراج وحذف وإضافة إدخالات إلى ملف zip، موضحًا تنوع المكتبة. استكشف السيناريوهات المختلفة، وعزز مهاراتك في التعامل مع الملفات!
الأسئلة الشائعة
هل يمكنني استخدام Aspose.Zip لـ .NET مع لغات برمجة أخرى؟
تم تصميم Aspose.Zip في المقام الأول لتطبيقات .NET، ولكن Aspose يوفر مكتبات مماثلة لمختلف لغات البرمجة.
هل هناك نسخة تجريبية مجانية متاحة لـ Aspose.Zip لـ .NET؟
نعم، تتوفر نسخة تجريبية مجانية للتنزيلهنا.
كيف أحصل على الدعم لـ Aspose.Zip لـ .NET؟
قم بزيارةمنتدى Aspose.Zip للدعم والمناقشات.
هل يمكنني شراء ترخيص مؤقت لـ Aspose.Zip لـ .NET؟
نعم يمكنك الحصول على ترخيص مؤقتهنا.
أين يمكنني العثور على الوثائق الخاصة بـ Aspose.Zip لـ .NET؟
الوثائق الكاملة متاحةهنا.