Create a Flat ZIP Archive in C#

הכניסה

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

למה ליצור ZIP שטוח?

יצירת ארכיון ZIP שטוח מציעה מספר יתרונות:

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

שולחן התוכן

הגדרת עיבוד ארכיון ZIP ב- C#

כדי לעבד באופן יעיל את ארכיוני ה-ZIP , נשתמש ב- [Aspose. ZIP for .NET](https://products.aspose.net/zip:

  • מחיקת ZIP אוטומטית ומחיקת מחדש.
  • תמיכה בפורמטי ארכיון מרובים: ZIP, TAR, GZip ועוד.
  • עיבוד יעיל של ארכיונים גדולים.

ההתקנה

ניתן להתקין את הספרייה בקלות באמצעות NuGet:

PM> Install-Package Aspose.Zip

אחרת, אתה יכול להוריד את DLL מן עקבו אחרי Aspose Downloads.

שלבים כדי ליצור ארכיון ZIP שטוח

ראה את המבנה הבא Nested ZIP:

parent.zip
 ├ first.txt
 ├ inner.zip
 │ ├ file1.exe
 │ └ data.bin
 └ picture.gif

לאחר התפשטות, כל תוכן ZIP הפנימי יתמזג לתוך ZIP המולדת:

flattened.zip
 ├ first.txt
 ├ picture.gif
 ├ file1.exe
 └ data.bin

קוד דוגמה

הנה איך אתה יכול אוטומטי לחלץ קבצי ZIP נטועים:

// Load the parent ZIP file
using (Archive parentZip = new Archive("parent.zip"))
{
    List<ArchiveEntry> toDelete = new List<ArchiveEntry>();
    List<string> newEntryNames = new List<string>();
    List<MemoryStream> newStreams = new List<MemoryStream>();

    foreach (ArchiveEntry entry in parentZip.Entries)
    {
        if (entry.Name.EndsWith(".zip", StringComparison.OrdinalIgnoreCase))
        {
            toDelete.Add(entry);
            using (MemoryStream zipStream = new MemoryStream())
            {
                entry.Open().CopyTo(zipStream);
                zipStream.Position = 0;
                using (Archive innerZip = new Archive(zipStream))
                {
                    foreach (ArchiveEntry innerEntry in innerZip.Entries)
                    {
                        using (MemoryStream entryStream = new MemoryStream())
                        {
                            innerEntry.Open().CopyTo(entryStream);
                            newEntryNames.Add(innerEntry.Name);
                            newStreams.Add(entryStream);
                        }
                    }
                }
            }
        }
    }

    foreach (var entry in toDelete)
        parentZip.DeleteEntry(entry);

    for (int i = 0; i < newEntryNames.Count; i++)
        parentZip.CreateEntry(newEntryNames[i], newStreams[i]);

    parentZip.Save("flattened.zip");
}

שיטה זו יעילה אוטומטית זריקת קובץ ZIP מעוטרת, מבטיחה זרם עבודה רך עם C# Archive פונקציונליות.

לשמור את קובץ ZIP שטוח

ברגע שאתה מוציא את התוכן ZIP נטוע, לשמור את קובץ ZIP נטוע באמצעות השורה הבאה של קוד:

parentZip.Save("flattened.zip");

זה מבטיח שיש לך ארכיון ZIP יחיד ללא תיקיות מעוגלות, מה שהופך ניהול קבצים הרבה יותר קל באמצעות C# Zip Compression טכניקות.

ארכיון תגיות Batch Processing Multiple ZIP Archives}

אם אתה צריך להגדיר רכיבים ZIP מרובים ממוקמים בתיקיה מסוימת, אתה יכול להשתמש בסריפט הקוד הבא:

string[] files = Directory.GetFiles("zip_folder", "*.zip");
foreach (string file in files)
{
    using (Archive archive = new Archive(file))
    {
        archive.ExtractToDirectory("output_folder");
    }
}

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

קבלת רישיון API חינם

כדי לפתוח את התכונות המלאות של Aspose.ZIP, באפשרותך לבקש רישיון זמני חינם (https://purchase.aspose.com/temporary-license).

לקבלת תיעוד מקיף, בקר ב **מדריך Aspose.ZIP ** .אם יש לך שאלות, תרגיש חופשי להתחבר עם הקהילה ב- פורום Aespose.

מסקנה ומשאבים נוספים

סיכום

במדריך זה אנו מכסים:

  • איך להדביק קבצי ZIP ב- C#
  • יציאת קבצי ZIP נטועים
  • שמור את ארכיון ZIP הסופי
  • עיבוד קבצי ZIP מרובים בו זמנית

עם Aspose.ZIP עבור .NET, באפשרותך לחלץ ולנהל ביעילות את קבצי ZIP באפליקציות שלך!

משאבים נוספים

עבור מפתחים שרוצים לשפר את ההבנה שלהם, לשקול את הנושאים האלה:

  • C# Create Zip Archive: לחקור שיטות שונות ליצירת קבצי ZIP באפליקציות C# שלך.
  • יצירת קובץ ZIP C# .NET Core: התמקדות ב- .NET Core, ללמוד את השיטות הטובות ביותר ליצירה של קבצים Zip.
  • C# לחלץ קבצים מ-ZIP: הוראות שלב אחר צעד על החילוץ של קובץ ספציפי מהארכיון ZIP.
  • C# Decompress ZIP: מדריך מפורט על הפחתת קבצי Zip באמצעות C#.
  • איך להדפיס קבצים ב- .NET עם C#: מסלול הליכה מלא על קובץ הדפיסה באמצעות .NET ו-C#.
  • C# ZipArchive Extract to Directory: בואו לגלות כיצד להשתמש ב-Ziparchive כדי לחלץ קבצים בצורה יעילה.
  • C# Zipping קבצים: לחקור שיטות ל-Ziping בקובץ C# כדי לשפר את הביצועים ואת הנוחות.
  • .NET Core Create Zip File: מבט מפורט על יצירת קבצי ZIP באמצעות .NET Core ו- C#.
  • C# Zip: ללמוד על ניהול קבצי ZIP בצורה יעילה ב- C#.
  • C# Zip Example: סקירה של דוגמאות מעשיות של קבצי zipping ב- C# כדי לשדרג את תהליך הפיתוח שלך.
  • .NET Core Zip: שיטות הטובות ביותר לעבוד עם קבצי ZIP באפליקציות .NET Core.
  • C# פתח ZIP: להבין כיצד לפתוח ולקרוא את קבצי ה-ZIP בצורה יעילה.
  • C# קרא קובץ מ-ZIP: טכניקות לקריאה של קבצים ספציפיים המאוחסנים בארכיון ZIP.
  • C# Zip Lists: לדעת איך לגלגל את רשימות הקבצים בקלות באפליקציות שלך.
  • C# Zipping קבצים: הסתכל מקרוב יותר על שיטות ל- zipping.
  • .NET Core Zip: היכרות עם ניהול קבצים .NET Core.
  • C# Archive: ללמוד כיצד להשתמש בכיתה ארכיון לניהול ZIP מקיף.

More in this category