מחק קבצים בארכיון ZIP ב-C# .NET

בזמן העבודה עם ארכיונים מתוך יישומי ה-.NET שלך, ייתכן שיהיה עליך לבצע מניפולציות על קבצים בתוך ZIP. ב פוסט הקודם ראית כיצד להוסיף קבצים/תיקיות בארכיון ZIP. במאמר זה תלמדו כיצד למחוק קבצים בתוך ארכיוני ה-ZIP באופן תכנותי ב-C#. אז בואו נתחיל.

מחק קבצים ב-ZIP עם C# - התקנת API

Aspose.ZIP עבור .NET הוא API רב עוצמה המספק מגוון רחב של תכונות ארכיון. זה מאפשר לך ליצור ולתפעל ארכיונים של פורמטים פופולריים כולל ZIP, TAR, 7z ו-GZip. אנו נשתמש ב-API זה כדי למחוק את הקבצים בתוך ארכיוני ZIP באופן דינמי. אתה יכול להתקין את ה-API מ-NuGet או להוריד מה-DLL ולהפנות אליו באופן ידני.

PM> Install-Package Aspose.Zip 

C# מחק קבצים בארכיון ZIP

ישנן שתי דרכים למחוק קבצים בתוך ארכיון ZIP באמצעות Aspose.ZIP עבור .NET. האחד משתמש באינדקס של הקובץ ואילו השני משתמש במחלקה ArchiveEntry. בואו נראה כיצד להשתמש בשתי השיטות הנ"ל.

הסר קובץ ב-ZIP עם ArchiveEntry

Aspose.ZIP עבור .NET מייצג כל קובץ/תיקיה בתוך ZIP כאובייקט ArchiveEntry וכל הקבצים והתיקיות יוצרים אוסף של אובייקטי ArchiveEntry. לפיכך, כדי למחוק קובץ מ-ZIP, תוכל לגשת ולמחוק את אובייקט ArchiveEntry הרלוונטי מהאוסף. להלן השלבים למחיקת קובץ מארכיון ZIP ב-C#.

  • טען את ארכיון ה-ZIP באמצעות המחלקה Archive.
  • עברו בלולאה בין הערכים באוסף 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");
}

C# הסר קובץ ב-ZIP באמצעות אינדקס

אתה יכול גם למחוק את ערכי ה-ZIP באמצעות האינדקס שלהם. להלן השלבים להסרת קובץ/תיקיה מארכיון ZIP באמצעות האינדקס שלו.

דוגמת הקוד C# הבאה מראה כיצד להסיר קובץ בארכיון ZIP באמצעות האינדקס שלו.

// טען את ארכיון ה-ZIP
using (var archive = new Archive("Archives/archive.zip"))
{
    // מחק את הקובץ לפי האינדקס שלו
    archive.DeleteEntry(0);

    // שמור ארכיון מעודכן
    archive.Save("Archives/updated-archive.zip");
}

C# API להסרת קבצים ב-ZIP - קבל רישיון חינם

אתה יכול להסיר קבצים בתוך ארכיוני ZIP ללא מגבלות הערכה על ידי קבלת רישיון זמני בחינם.

סיכום

במאמר זה, למדת כיצד למחוק קבצים מארכיוני ZIP ב-C#. בעזרת דוגמאות קוד, ראינו כיצד למחוק קבצים באמצעות המחלקה ArchiveEntry או האינדקס. במקרה שאתה רוצה ללמוד עוד על Aspose.ZIP עבור .NET, אתה יכול לבקר תיעוד. כמו כן, אתה יכול לשאול את השאלות שלך דרך הפורום שלנו.

ראה גם