Cómo leer y extraer contenido de archivos dentro de un archivo Zip usando Java y Apache Tika
Lograr la tarea de leer y extraer contenido de archivos dentro de un archivo zip usando Java y Apache Tika implica algunos pasos clave.
1. Inicializar entrada
Comience creando un flujo de entrada a partir del archivo que se va a procesar:
InputStream input = new FileInputStream(file);
2. Analizar archivo zip
Cree un ZipInputStream para analizar el archivo zip y obtener ZipEntries individuales:
ZipInputStream zip = new ZipInputStream(input);
3. Extraiga contenido según el tipo de archivo
Repita ZipEntries, identificando aquellos con tipos de archivos admitidos (por ejemplo, .txt, .pdf, .docx):
while (entry != null) {
if (entry.getName().endsWith(".txt") || entry.getName().endsWith(".pdf") || entry.getName().endsWith(".docx")) {
// Process the file
}
entry = zip.getNextEntry();
}
4. Analizar contenido usando Apache Tika
Utilice Apache Tika para analizar el contenido de los archivos identificados:
BodyContentHandler textHandler = new BodyContentHandler();
Metadata metadata = new Metadata();
Parser parser = new AutoDetectParser();
parser.parse(input, textHandler, metadata, new ParseContext());
5. Extraer contenido textual
Convertir el contenido analizado en texto sin formato para su posterior procesamiento:
System.out.println("Apache Tika - Converted input string : " textHandler.toString());
Conclusión
Al seguir estos pasos, puede leer y extraer contenido de manera eficiente de varios archivos dentro de un archivo zip usando Java y Apache Tika. Esta funcionalidad es particularmente útil para procesar archivos que contienen datos textuales o basados en documentos.
Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3