


Wie lese ich mit Apache Tika Inhalte aus mehreren Dateitypen in einem Zip-Archiv?
Oct 28, 2024 pm 09:20 PMInhalte aus Dateien in Zip lesen, erreicht mit Apache Tika
Herausforderung:
Sie möchten ein Java-Programm schreiben, das Extrahiert und liest den Inhalt mehrerer Dateien in einem ZIP-Archiv mit Apache Tika. Konkret enthält Ihre ZIP-Datei eine Mischung aus Text-, PDF- und DOCX-Dateien.
Lösung:
public class ZipContentExtractor { public static void main(String[] args) throws IOException, SAXException, TikaException { File zipFile = new File("C:\Users\xxx\Desktop\abc.zip"); try (ZipInputStream zipInputStream = new ZipInputStream(new FileInputStream(zipFile))) { ZipEntry entry; while ((entry = zipInputStream.getNextEntry()) != null) { // Checking file types if (entry.getName().endsWith(".txt") || entry.getName().endsWith(".pdf") || entry.getName().endsWith(".docx")) { // Handling text files if (entry.getName().endsWith(".txt")) { BodyContentHandler textHandler = new BodyContentHandler(); Parser parser = new AutoDetectParser(); parser.parse(zipInputStream, textHandler, new Metadata(), new ParseContext()); System.out.println("TXT file content: " + textHandler.toString()); } // Handling PDF files else if (entry.getName().endsWith(".pdf")) { Metadata metadata = new Metadata(); Parser parser = new PDFParser(); parser.parse(zipInputStream, new StreamingContentHandler(), metadata, new ParseContext()); System.out.println("PDF file content: " + metadata.get("xmpDM:documentID")); } // Handling DOCX files else { BodyContentHandler textHandler = new BodyContentHandler(); Parser parser = new OOXMLParser(); parser.parse(zipInputStream, textHandler, new Metadata(), new ParseContext()); System.out.println("DOCX file content: " + textHandler.toString()); } } } } } }
Erklärung:
- Der Code durchläuft die Einträge in der ZIP-Datei.
- Für jeden Eintrag prüft er den Dateityp und verarbeitet ihn entsprechend der Dateierweiterung.
- Für Bei Textdateien wird der AutoDetectParser von Apache Tika verwendet, um den Inhalt in einen String zu analysieren.
- Bei PDF-Dateien wird der PDFParser verwendet, um Metadaten wie die Dokument-ID zu extrahieren.
- Bei DOCX-Dateien Der OOXMLParser wird verwendet, um den Inhalt in einen String zu analysieren.
Das obige ist der detaillierte Inhalt vonWie lese ich mit Apache Tika Inhalte aus mehreren Dateitypen in einem Zip-Archiv?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heißer Artikel

Hot-Tools-Tags

Heißer Artikel

Heiße Artikel -Tags

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

Wie funktioniert der Klassenladungsmechanismus von Java, einschließlich verschiedener Klassenloader und deren Delegationsmodelle?

Top 4 JavaScript -Frameworks in 2025: React, Angular, Vue, Svelte

Wie benutze ich Maven oder Gradle für das fortschrittliche Java -Projektmanagement, die Erstellung von Automatisierung und Abhängigkeitslösung?

Wie kann ich JPA (Java Persistence-API) für Objektrelationszuordnungen mit erweiterten Funktionen wie Caching und faulen Laden verwenden?

Node.js 20: wichtige Leistungssteigerung und neue Funktionen

ICEBERG: Die Zukunft von Data Lake Tabellen

Spring Boot Snakeyaml 2.0 CVE-2022-1471 Problem behoben

Wie kann ich funktionale Programmierungstechniken in Java implementieren?
