[英]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.