簡體   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