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

חלץ נתונים מקובצי ZIP ב-Java

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

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

GroupDocs.Parser מספק את פתרון ניתוח המסמכים למפתחים הכולל גם את Java API. אני אשתמש ב-Java API כדי לחלץ נתוני קבצי ZIP בדוגמה(ות) של מאמר זה. בנוסף, API זה מאפשר חילוץ נתונים של תמונות, טקסט גולמי, טקסט מובנה ומעוצב ומטא נתונים מרשימה ארוכה של [פורמטים נתמכים של מסמכים]. פורמטים אלה של מסמכים כוללים מסמכי עיבוד תמלילים, PDF, מצגות, גיליונות אלקטרוניים, מיילים, מסדי נתונים, ספרים אלקטרוניים ועוד רבים אחרים.

הורד או הגדר

אתה יכול להוריד את קובץ ה-JAR מסעיף ההורדות, או פשוט לקבל את תצורות המאגר והתלות העדכניות ביותר עבור ה-pom.xml של יישומי Java המבוססים על maven.

<repository>
	<id>GroupDocsJavaAPI</id>
	<name>GroupDocs Java API</name>
	<url>https://repository.groupdocs.com/repo/</url>
</repository>
<dependency>
	<groupId>com.groupdocs</groupId>
	<artifactId>groupdocs-parser</artifactId>
	<version>21.2</version> 
</dependency>

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

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

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

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

// חלץ נתוני ארכיון ZIP ב-Java
Parser parser = new Parser("path/archive.zip");
// חלץ קבצים מצורפים מהמיכל
Iterable<ContainerItem> attachments = parser.getContainer();

// חזור על אוסף של ישויות ZIP
for (ContainerItem item : attachments) {
    // הדפס את המידע על הקובץ
    System.out.println("-----------------------------------");
    System.out.println("Name: " + item.getName());
    System.out.println("File Size: " + item.getSize() + " Bytes");
    System.out.println("-----------------------------------");

    try {
        Parser attachmentParser = item.openParser();
        TextReader reader = attachmentParser.getText();
        System.out.println(reader == null ? "No text" : reader.readToEnd());
    } 
    catch (UnsupportedDocumentFormatException ex) {
        System.out.println("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 

חלץ תמונות מקבצים בתוך קבצי ZIP ב-Java

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

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

קוד המקור הבא מראה כיצד לחלץ נתוני תמונות מהקבצים הכלולים בקובצי ה-ZIP ב-Java.

// חלץ מידע על תמונות מהקובץ בארכיון ה-ZIP ב-Java
Parser parser = new Parser("path/archive.zip");
// חלץ קבצים מצורפים מהמיכל
Iterable<ContainerItem> attachments = parser.getContainer();

// חזור על אוסף של ישויות ZIP
for (ContainerItem item : attachments) {
    try {
        Parser attachmentParser = item.openParser();
        Iterable<PageImageArea> images = attachmentParser.getImages();
        if (images != null) {
            int imageCount = 1;
           for (PageImageArea image : images) {
                // הדפס אינדקס עמוד, מלבן וסוג תמונה:
                System.out.println(String.format("Image# %d \nPage: %d\nFile Type: %s", imageCount, image.getPage().getIndex()+1, image.getFileType()));
                imageCount++;
            }
        }
    } 
    catch (UnsupportedDocumentFormatException ex) {
        System.out.println("Isn't supported.");
    }
}
Image# 1 
Page: 1
File Type: JPEG Image (.jpeg) 

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

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

סיכום

בקיצור, למדת כיצד לחלץ נתוני ארכיון ZIP בתוך יישומי Java שלך. בנוסף, ניתן גם לחלץ תמונות מקובצי ה-ZIP באמצעות GroupDocs.Parser עבור Java. התחל לבנות את אפליקציית Java לחילוץ הנתונים שלך עבור קבצים דחוסים. למידע נוסף על ה-API, בקר בתיעוד. לשאלות, צור איתנו קשר דרך הפורום.

ראה גם