ZIP-Archive sind eines der beliebtesten und am häufigsten verwendeten komprimierten Dateiformate. Der Hauptgrund für die Verwendung von ZIP-Dateien besteht darin, die Gesamtdateigröße zu reduzieren und mehrere Dateien als ein einziges Archiv zu senden. Als Entwickler können Sie Text, Bilder und sogar Metadaten aus den Dateien extrahieren, die in ZIP-Archiven komprimiert sind. In diesem Artikel werden wir diskutieren, wie ZIP-Archivdaten in Java extrahiert werden.

Extrahieren Sie Daten aus ZIP-Dateien in Java

Nachfolgend werden folgende Themen behandelt:

Java-API zum Extrahieren von Daten aus ZIP-Dateien

GroupDocs.Parser bietet Entwicklern die Lösung zum Analysieren von Dokumenten, die auch die Java-API enthält. Ich werde diese Java-API zum Extrahieren von ZIP-Dateidaten in den Beispielen dieses Artikels verwenden. Darüber hinaus ermöglicht diese API die Datenextraktion von Bildern, Rohtext, strukturiertem und formatiertem Text und Metadaten aus einer langen Liste von unterstützten Dokumentformaten. Zu diesen Dokumentformaten gehören Textverarbeitungsdokumente, PDF, Präsentationen, Tabellenkalkulationen, E-Mails, Datenbanken, eBooks und viele andere.

Herunterladen oder konfigurieren

Sie können die JAR-Datei aus dem Download-Bereich herunterladen oder einfach die neuesten Repository- und Abhängigkeitskonfigurationen für die pox.xml Ihrer maven-basierten Java-Anwendungen abrufen.

<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>

So extrahieren Sie ZIP-Dateidaten in Java

Um die Daten aus einer beliebigen Datei zu extrahieren, die im Archiv enthalten ist, müssen Sie zuerst alle enthaltenen Dateien abrufen. Danach können Sie jede Art von Daten aus jeder Datei weiter extrahieren. Die folgenden Schritte zeigen, wie Sie Daten aus ZIP-Dateien extrahieren und Text aus jeder eingeschlossenen Datei in Java abrufen.

  • Laden Sie das ZIP-Archiv mit der Klasse Parser.
  • Extrahieren Sie die Sammlung von Anhängen mit der Methode getContainer.
  • Durchsuchen Sie die Anhänge nach den Daten jeder beigefügten Datei.
  • Sie können die verschiedenen Arten von Daten mit den entsprechenden Methoden der Klasse Parser abrufen.

Der Quellcode zeigt, wie die Daten der ZIP-Dateien mit Java extrahiert werden. Das folgende Beispiel extrahiert den gesamten Text aus allen Dateien im ZIP-Archiv.

// Extrahieren Sie ZIP-Archivdaten in Java
Parser parser = new Parser("path/archive.zip");
// Extrahieren Sie Anhänge aus dem Container
Iterable<ContainerItem> attachments = parser.getContainer();

// Iterieren Sie über die Sammlung von ZIP-Entitäten
for (ContainerItem item : attachments) {
    // Drucken Sie die DATEI-INFO
    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.");
    }
}

Die Ausgabe des obigen Quellcodes zeigt den abgerufenen Text einer der PDF-Dateien innerhalb der ZIP-Datei.

 -----------------------------------
 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 

Extrahieren Sie Bilder aus Dateien in ZIP-Dateien in Java

Sie sind nicht nur auf Text beschränkt, sondern können auch die Bildinformationen auf ähnliche Weise extrahieren. Die folgenden Schritte zeigen, wie Sie ZIP-Dateidaten extrahieren und Bildinformationen aus jeder eingeschlossenen Datei abrufen.

  • Laden Sie das ZIP-Archiv mit der Klasse Parser.
  • Extrahieren Sie die Sammlung von Anhängen mit der Methode getContainer.
  • Durchsuchen Sie die Anhänge, um die Sammlung von Bildern in jedem Anhang zu erhalten.
  • Durchlaufen Sie nun die Bilder, um die Informationen zu jedem Bild mithilfe der Klasse PageImageArea abzurufen.

Der folgende Quellcode zeigt, wie Sie Bilddaten aus den Dateien extrahieren, die in den ZIP-Dateien in Java enthalten sind.

// Extrahieren Sie Bildinformationen aus der Datei im ZIP-Archiv in Java
Parser parser = new Parser("path/archive.zip");
// Extrahieren Sie Anhänge aus dem Container
Iterable<ContainerItem> attachments = parser.getContainer();

// Iterieren Sie über die Sammlung von ZIP-Entitäten
for (ContainerItem item : attachments) {
    try {
        Parser attachmentParser = item.openParser();
        Iterable<PageImageArea> images = attachmentParser.getImages();
        if (images != null) {
            int imageCount = 1;
            for (PageImageArea image : images) {
                // Drucken Sie einen Seitenindex, ein Rechteck und einen Bildtyp:
                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) 

Holen Sie sich eine kostenlose API-Lizenz

Sie können eine kostenlose temporäre Lizenz erhalten, um die API ohne die Evaluierungseinschränkungen zu verwenden.

Fazit

Kurz gesagt, Sie haben gelernt, wie Sie ZIP-Archivdaten in Ihren Java-Anwendungen extrahieren. Darüber hinaus können Sie mit GroupDocs.Parser für Java auch Bilder aus den ZIP-Dateien extrahieren. Beginnen Sie mit dem Aufbau Ihrer Java-Anwendung zur Datenextraktion für komprimierte Dateien. Um mehr über die API zu erfahren, besuchen Sie die Dokumentation. Bei Fragen kontaktieren Sie uns über das Forum.

Siehe auch