繁体   English   中英

从RTF文件读取文本

[英]Read Text from RTF file

我尝试使用Apache POI读取rtf文件,但发现了问题。 它报告无效的报头异常。 POI似乎不支持rtf文件。 有什么办法可以使用任何开源Java API读取.rtf。 (我听说过Aspose API,但这不是免费的)

任何解决方案?

您可以尝试RTFEditorKit 它也支持图像和文本。

或查看以下答案: Java API将RTF文件转换为Word文档(97-2003格式)

没有免费的库支持此功能。 但是,自己创建一个基本的比较功能可能并不难。 您可以读取rtf文件,然后提取如下文本:

// read rtf from file
JEditorPane p = new JEditorPane();
p.setContentType("text/rtf");
EditorKit rtfKit = p.getEditorKitForContentType("text/rtf");
rtfKit.read(new FileReader(fileName), p.getDocument(), 0);
rtfKit = null;

// convert to text
EditorKit txtKit = p.getEditorKitForContentType("text/plain");
Writer writer = new StringWriter();
txtKit.write(writer, p.getDocument(), 0, p.getDocument().getLength());
String documentText = writer.toString();

最简单的方法是使用Java中的Scanner类和FileReader对象。 简单的例子:

扫描仪=新扫描仪(新FileReader(“ filename.rtf”));

扫描器有几种读取字符串,数字等的方法。您可以在Java文档页面上找到有关此内容的更多信息。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM