如果这很明显,很抱歉,但我已经找了好几天了,似乎找不到答案。
情况是这样的。我正在尝试读取位于jar文件中的rtf文件,然后将其显示在JEditorPane中。这是在Netbeans环境中工作的,但在执行dist文件夹中的jar文件时不工作。以前有人问过这个问题的一个版本,但对于我的申请,我认为以前的答案不适用。(原因是JEditorPane.read需要一个FileInputStream,而我看到的所有其他问题的解决方案都涉及非FileInputStream
descPane = new JEditorPane("application/rtf", "");
try {
File test = new File(this.getClass().getResource("files/general.rtf").toURI());
descPane.read(new FileInputStream(test), null);
} catch (Exception ex) {
Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
}
非常感谢您的帮助!非常感谢。
使用从getResource()
获得的URL
加载文档。如果它在Jar中,它将不能作为File
访问。
类似这样的东西:
URL urlToRtf = this.getClass().getResource("files/general.rtf");
descPane.setPage(urlToRtf);