2010-12-10 16 views
2

我正在使用一個java RTFEditorKit,它可以在大多數情況下將RTF轉換爲文本。有時,我會遇到一個文件,代替轉換髮生,我得到以下內容:close-group問題java RTFEditorKit

java.io.IOException:RTF文本中的關閉組太多 at javax.swing.rtf.RTFParser.write (未知來源)

我看了看周圍的互聯網,但沒有看到這個問題的現成解決方案。

其他人看到這個,知道該怎麼辦?

謝謝

埃利奧特

+0

當你看的RTFEditorKit的代碼中,有一個評論,說:「開始的端基是不同步」。我不知道這對任何人都意味着什麼。但在那裏,以防萬一。 – Elliott 2010-12-10 18:06:09

+0

RTFEditor代碼在引發此異常的位置有註釋「開始結束組不同步」。我不知道這是否增加了情況的清晰度,但這就是它所說的。 – Elliott 2010-12-10 18:07:46

回答

1

根據代碼,如果你有更多的結束括號不是在您打開RTF這個括號會拋出異常。聽起來像你的文件可能是畸形的。

這裏是一個拋出異常的代碼:

else if(ch == '}') { 
    if (currentCharacters.length() > 0) { 
    handleText(currentCharacters.toString()); 
    currentCharacters = new StringBuffer(); 
    } 
    if (level == 0) 
    throw new IOException("Too many close-groups in RTF text"); 
    endgroup(); 
    level --; 
}