📜  从 TXT 文档中提取内容的Java程序

📅  最后修改于: 2022-05-13 01:55:42.452000             🧑  作者: Mango

从 TXT 文档中提取内容的Java程序

使用使用 Apache Tika 库的Java class< 文件。对于各种文件格式的文档类型检测和内容提取,它使用各种文档解析器和文档类型检测技术来检测和提取数据。它提供了一个用于解析不同文件格式的通用 API。所有这些解析器库都封装在一个称为解析器接口的接口中。下载 Tika Foremost。

BodyContentHandler是一个内置类,它为文本创建一个处理程序,它编写这些 XHTML 正文字符事件并将它们存储在内部字符串缓冲区中。它继承自Java的父类 ContentHandlerDecorator。可以使用父类提供的方法 ContentHandlerDecorator.toString() 检索指定的文本。 ParseContext类是Java包 org.apache.tika.parser 的一个组件,用于解析上下文并将其传递给 Tika 解析器。 TXTParser是一个内置包,它提供了一个类 TXTParser,用于解析文本文档的内容。它提取存储在段落、字符串和表格中的文本文档的内容(不调用表格边界)。如果将密码指定为参数,它也可用于解析加密文档。

Java支持多个内置类和包来提取和访问 PDF 文档中的内容。以下类用于提取内容:

程序:

  1. 创建一个内容处理程序。
  2. 在系统本地目录下创建一个TXT文件。
  3. 现在,创建一个与上面创建的 txt 文件具有相同路径的 FileInputStream。
  4. 使用文档的元数据类型对象创建内容解析器。
  5. 现在使用 TXT 解析器类解析文档。
  6. 打印如上创建的 TXT 文件的内容,以说明上述文档中内容的提取。

例子:



Java
// Java Program to Extract Content from a TXT document
 
// Importing java input/output classes
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
// Importing Apache POI classes
import org.apache.tika.exception.TikaException;
import org.apache.tika.metadata.Metadata;
import org.apache.tika.parser.ParseContext;
import org.apache.tika.parser.txt.TXTParser;
import org.apache.tika.sax.BodyContentHandler;
import org.xml.sax.SAXException;
 
// Main Class
public class GFG {
 
    // Main driver method
    public static void main(String[] args) throws Exception
    {
 
        // Creating a content handler by
        // creating an object of BodyContentHandler class
        BodyContentHandler handler
            = new BodyContentHandler();
 
        // Creating a file in local directory
        // Create a file input stream
        // on specified path with the created file
        FileInputStream fstream
            = new FileInputStream(new File("C:/test.txt"));
 
        // Creating an object of type Metadata to use
        Metadata metadata = new Metadata();
 
        // Create a context parser for the text document by
        // creating an object of ParseContext class
        ParseContext pcontext = new ParseContext();
 
        // Noe, text document can be parsed
        // using the TXTparser class
        TXTParser TexTParser = new TXTParser();
 
        // Method parse invoked on TXTParser class
        TexTParser.parse(fstream, handler, metadata,
                         pcontext);
 
        // Print and display the extracted content from TXT
        // file
        System.out.println("Extracting contents :"
                           + contenthandler.toString());
    }
}


输出:它作为文件返回,如下所示: