ארכיונים כמו ZIP, RAR, TAR, GZIP, BZIP2 משמשים בדרך כלל לאחסון יותר מקובץ ותיקיה אחד במיכל אחד. סיבה עיקרית נוספת לקבצי ארכיון היא להקטין את גודל הקובץ הכולל באמצעות אלגוריתמי דחיסה. בדיוק כמו ניתוח וחילוץ נתונים ממסמכים בפורמטים שונים של קבצים, אתה יכול להתייחס לקבצי הארכיון באותו אופן. אתה יכול לחלץ את הטקסט, התמונות ואפילו המטא נתונים מהקבצים שנדחסים בארכיונים. במאמר זה, נדון כיצד לחלץ את נתוני ארכיון ה-ZIP באמצעות C# עם יישומי NET שלך.

הנושאים הבאים מכוסים להלן:

NET API לחילוץ נתונים של קבצי ZIP

GroupDocs.Parser מספק את פתרון ניתוח המסמכים למפתחים. אני אשתמש ב-.NET API שלו כדי לחלץ נתוני קבצי ZIP בדוגמאות C# של מאמר זה. ה-API מאפשר עוד חילוץ של טקסט, תמונות ומטא נתונים מרשימה ארוכה של פורמטים נתמכים של מסמכים כמו מסמכי עיבוד תמלילים, מצגות, גיליונות אלקטרוניים, מיילים, מסדי נתונים, ספרים אלקטרוניים ועוד רבים אחרים.

אתה יכול להוריד את קובצי ה-DLL או ה-MSI מתקין מסעיף ההורדות או להתקין את ה-API על ידי הוספת החבילה שלו לאפליקציית ה-.NET שלך דרך NuGet.

PM> Install-Package GroupDocs.Parser

כיצד לחלץ נתונים של קבצי ZIP ב-C#

ה-GroupDocs.Parser for .NET תומך בחילוץ נתונים מפורמטים שונים של קבצי דחיסה כמו ZIP, RAR, TAR, BZIP2 ו-GZIP. לאחר אחזור אוסף הקבצים מהקובץ הדחוס, תוכל להמשיך לחלץ כל סוג של נתונים מכל קובץ.

השלבים הבאים מראים כיצד לחלץ נתוני קובצי ZIP ולאחזר טקסט מכל קובץ סגור ב-C#.

  • טען את ארכיון ה-ZIP באמצעות המחלקה Parser.
  • השג את הקבצים המצורפים בשיטת GetContainer
  • חצו את אוסף הקבצים המצורפים.
  • עבור כל קובץ מצורף, אתה יכול לקבל את סוג הנתונים השונה שלו באמצעות שיטות מתאימות של המחלקה Parser.

קוד המקור מראה כיצד לחלץ את נתוני קבצי ה-ZIP באמצעות C#. בדוגמה זו, אחלץ את כל הטקסט מכל הקבצים בארכיון ה-ZIP.

// חלץ נתוני ארכיון ZIP ב-C#
using (Parser parser = new Parser(@"path/sample.zip"))
{
    // חלץ קבצים מצורפים מהמיכל
    IEnumerable<ContainerItem> attachments = parser.GetContainer();

    // חזור על אוסף של ישויות
    foreach (ContainerItem item in attachments)
    {
        // הדפס את המידע על הקובץ
        Console.WriteLine("-----------------------------------");
        Console.WriteLine("Name: " + item.Name);
        Console.WriteLine("File Size: " + item.Size + " Bytes");
        Console.WriteLine("-----------------------------------");

        try
        {
            using (Parser attachmentParser = item.OpenParser())
            {
                // חלץ את הטקסט של ישות ZIP
                using (TextReader reader = attachmentParser.GetText())
                {
                    Console.WriteLine(reader == null ? "No text" : reader.ReadToEnd());
                }
            }
        }
        catch (UnsupportedDocumentFormatException)
        {
            Console.WriteLine("Isn't supported.");
        }
    }
}

הפלט של קוד המקור לעיל מציג את הטקסט שאוחזר מאחד מקבצי ה-PDF בתוך קובץ ה-ZIP.

 -----------------------------------
 Name: sample.pdf
 File Size: 33370 Bytes
 -----------------------------------

 Heading

 This is the first paragraph of the sample document that contains some sample
 text, bulleted list, numbered list and more.

    •  Bullet Item 1
    •  Bullet Item 2
    •  Bullet Item 3
 
 This is the second paragraph of the sample document and after this, there is a
 numbered list: 

    1. Numbered Item 1
    2. Numbered Item 2
    3. Numbered Item 3 

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

אתה יכול לקבל רישיון זמני בחינם כדי להשתמש ב-API ללא מגבלות ההערכה.

סיכום

לסיכום, למדת כיצד לחלץ נתוני ארכיון ZIP באמצעות C# בתוך יישום ה-.NET שלך. ליתר דיוק, כעת תוכל לחלץ נתונים מקובצי ZIP, RAR, TAR, GZIP ו-BZIP. אתה יכול אפילו לבנות יישום .NET לחילוץ נתונים משלך עבור קבצים דחוסים. לפרטים נוספים או למידה על ה-API, בקר בתיעוד. לשאלות, צור איתנו קשר דרך הפורום.

ראה גם