从 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 文档中的内容。以下类用于提取内容:
程序:
- 创建一个内容处理程序。
- 在系统本地目录下创建一个TXT文件。
- 现在,创建一个与上面创建的 txt 文件具有相同路径的 FileInputStream。
- 使用文档的元数据类型对象创建内容解析器。
- 现在使用 TXT 解析器类解析文档。
- 打印如上创建的 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());
}
}
输出:它作为文件返回,如下所示: