Archivy ZIP jsou jedním z nejoblíbenějších a běžně používaných formátů komprimovaných souborů. Hlavním důvodem pro použití souborů ZIP je snížení celkové velikosti souboru a odeslání více souborů jako jednoho archivu. Jako vývojář můžete extrahovat text, obrázky a dokonce i metadata ze souborů, které jsou komprimovány v archivech ZIP. V tomto článku budeme diskutovat o tom, jak extrahovat data archivů ZIP v Java.
Níže jsou uvedena následující témata:
- Java API pro extrakci dat souborů ZIP.
- Jak extrahovat data souborů ZIP pomocí Java.
- Extrahujte obrázky ze souborů v souborech ZIP v Java
Java API pro extrahování dat souborů ZIP
GroupDocs.Parser poskytuje řešení pro analýzu dokumentů pro vývojáře, které také zahrnuje Java API. Budu používat toto Java API k extrahování dat souborů ZIP v příkladech tohoto článku. Navíc toto API umožňuje extrakci dat z obrázků, nezpracovaného textu, strukturovaného a formátovaného textu a metadat z dlouhého seznamu podporovaných formátů dokumentů. Mezi tyto formáty dokumentů patří textové dokumenty, PDF, prezentace, tabulky, e-maily, databáze, elektronické knihy a mnoho dalších.
Stáhnout nebo Konfigurovat
Soubor JAR si můžete stáhnout z části ke stažení nebo si můžete stáhnout nejnovější úložiště a konfigurace závislostí pro pom.xml vašich Java aplikací založených na 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>
Jak extrahovat data souborů ZIP v Java
Chcete-li extrahovat data z libovolného souboru, který je uzavřen v archivu, musíte nejprve získat všechny přiložené soubory. Poté můžete z každého souboru dále extrahovat jakýkoli druh dat. Následující kroky ukazují, jak extrahovat data souborů ZIP a načíst text z každého přiloženého souboru v Java.
- Načtěte archiv ZIP pomocí třídy Parser.
- Extrahujte kolekci příloh pomocí metody getContainer.
- Projděte přílohy pro data každého přiloženého souboru.
- Jeho různé druhy dat můžete získat pomocí příslušných metod třídy Parser.
Zdrojový kód ukazuje, jak extrahovat data souborů ZIP pomocí Java. Níže uvedený příklad extrahuje celý text ze všech souborů v archivu ZIP.
// Extrahujte data archivů ZIP v Java
Parser parser = new Parser("path/archive.zip");
// Vyjměte přílohy z nádoby
Iterable<ContainerItem> attachments = parser.getContainer();
// Iterujte sbírku entit ZIP
for (ContainerItem item : attachments) {
// Vytiskněte FILE 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.");
}
}
Výstup výše uvedeného zdrojového kódu zobrazuje načtený text jednoho ze souborů PDF v souboru 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
Extrahujte obrázky ze souborů v souborech ZIP v Java
Není omezeno pouze na text, můžete také získat informace o obrázcích. Následující kroky ukazují, jak extrahovat data souborů ZIP a načíst informace o obrázcích z každého přiloženého souboru.
- Načtěte archiv ZIP pomocí třídy Parser.
- Extrahujte kolekci příloh pomocí metody getContainer.
- Procházejte přílohy, abyste získali kolekci obrázků v každé příloze.
- Nyní procházejte obrázky a získejte informace o každém obrázku pomocí třídy PageImageArea.
Následující zdrojový kód ukazuje, jak extrahovat data obrázků ze souborů uzavřených v souborech ZIP v Java.
// Extrahujte informace o obrázcích ze souboru v archivu ZIP v Java
Parser parser = new Parser("path/archive.zip");
// Vyjměte přílohy z nádoby
Iterable<ContainerItem> attachments = parser.getContainer();
// Iterujte sbírku entit 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) {
// Tisk indexu stránky, obdélníku a typu obrázku:
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)
Získejte bezplatnou licenci API
Můžete získat bezplatnou dočasnou licenci k používání API bez omezení hodnocení.
Závěr
Stručně řečeno, naučili jste se, jak extrahovat data z archivů ZIP ve vašich aplikacích Java. Navíc můžete také extrahovat obrázky ze souborů ZIP pomocí GroupDocs.Parser for Java. Začněte budovat svou Java aplikaci pro extrakci dat pro komprimované soubory. Chcete-li se dozvědět více o API, navštivte dokumentaci. V případě dotazů nás kontaktujte prostřednictvím fóra.