0

对不起,如果这很明显,但我一直在寻找几天,我似乎无法找到答案。

这是情况。我正在尝试从 jar 文件中的 rtf 文件中读取,然后将其显示在 JEditorPane 中。这在 Netbeans 环境中有效,但在执行 dist 文件夹中的 jar 文件时无效。之前已经问过这个问题的一个版本,但是对于我的应用程序,我认为我认为以前的答案不适用。(原因是 JEditorPane.read 需要一个 FileInputStream,而我看到的所有其他问题的解决方案都涉及非 File InputStreams。这是有问题的代码:

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);
    }

非常感谢任何帮助!谢谢!

4

1 回答 1

2

使用URL获得的 fromgetResource()加载文档。如果它在 Jar 中,则不能作为File.

像这样的东西:

URL urlToRtf = this.getClass().getResource("files/general.rtf");
descPane.setPage(urlToRtf);
于 2012-01-08T02:27:16.290 回答