احذف الملفات الموجودة في أرشيف مضغوط في C# .NET

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

C# .NET API لحذف الملفات داخل أرشيفات ZIP

Aspose.ZIP for .NET هي واجهة برمجة تطبيقات قوية توفر مجموعة واسعة من ميزات الأرشفة. يتيح لك إنشاء ومعالجة أرشيفات التنسيقات الشائعة بما في ذلك ZIP و TAR و 7z و GZip. سنستخدم واجهة برمجة التطبيقات هذه لحذف الملفات داخل أرشيفات ZIP ديناميكيًا. يمكنك إما تثبيت API من NuGet أو تنزيل DLL والرجوع إليها يدويًا.

PM> Install-Package Aspose.Zip 

حذف الملفات داخل أرشيفات ZIP في C#

هناك طريقتان لحذف الملفات داخل أرشيف مضغوط باستخدام Aspose.ZIP لـ .NET. أحدهما يستخدم فهرس الملف بينما يستخدم الآخر فئة ArchiveEntry. دعونا نرى كيفية استخدام كلتا الطريقتين المذكورتين أعلاه.

احذف ملفًا في ZIP باستخدام ArchiveEntry

Aspose.ZIP for .NET يمثل كل ملف / مجلد داخل ZIP ككائن ArchiveEntry وجميع الملفات والمجلدات تشكل مجموعة من كائنات ArchiveEntry. وبالتالي ، لحذف ملف من ZIP ، يمكنك الوصول إلى كائن ArchiveEntry ذي الصلة وحذفه من المجموعة. فيما يلي خطوات حذف ملف من أرشيف ZIP في C#.

  • قم بتحميل أرشيف ZIP باستخدام فئة الأرشيف.
  • التكرار خلال الإدخالات في مجموعة Archive.Entries.
  • قم بتصفية الملفات / المجلدات المطلوبة وإضافتها إلى القائمة.
  • احذف كل إدخال في القائمة باستخدام طريقة Archive.DeleteEntry (ArchvieEntry).
  • احفظ أرشيف ZIP المحدث باستخدام طريقة Archive.Save (string).

يوضح نموذج التعليمات البرمجية التالي كيفية حذف الملفات داخل أرشيف ZIP في C#.

// قم بتحميل أرشيف ZIP
using (var archive = new Archive("Archives/archive.zip"))
{
    // قائمة للاحتفاظ بالملفات المراد حذفها
    List<ArchiveEntry> entriesToDelete = new List<ArchiveEntry>();

    // حلقة من خلال إدخالات ZIP
    foreach(ArchiveEntry entry in archive.Entries)
    {
        // إضافة ملف / مجلد إلى القائمة
        if(entry.Name.ToLower().Contains("source"))
        {
            entriesToDelete.Add(entry);
        }
    } 

    // حذف كافة الإدخالات المدرجة
    foreach(var entry in entriesToDelete)
    {
        archive.DeleteEntry(entry);
    }

    // احفظ الأرشيف المحدث
    archive.Save("Archives/updated-archive.zip");
}

احذف ملفًا في ZIP باستخدام الفهرس

يمكنك أيضًا حذف إدخالات ZIP باستخدام الفهرس الخاص بهم. فيما يلي خطوات إزالة ملف / مجلد من أرشيف ZIP باستخدام الفهرس الخاص به.

يوضح نموذج التعليمات البرمجية C# التالي كيفية إزالة ملف في أرشيف ZIP باستخدام الفهرس الخاص به.

// قم بتحميل أرشيف ZIP
using (var archive = new Archive("Archives/archive.zip"))
{
    // حذف الملف من الفهرس الخاص به
    archive.DeleteEntry(0);

    // احفظ الأرشيف المحدث
    archive.Save("Archives/updated-archive.zip");
}

احصل على ترخيص API مجاني

يمكنك استخدام Aspose.ZIP for .NET بدون قيود تقييمية عن طريق الحصول على ترخيص مجاني مؤقت.

استنتاج

في هذه المقالة ، تعلمت كيفية حذف الملفات من أرشيفات ZIP في C#. بمساعدة نماذج التعليمات البرمجية ، رأينا كيفية حذف الملفات باستخدام فئة ArchiveEntry أو الفهرس. في حالة رغبتك في معرفة المزيد حول Aspose.ZIP for .NET ، يمكنك زيارة التوثيق. يمكنك أيضًا طرح أسئلتك عبر المنتدى.

أنظر أيضا