попытка прочитать файл rtf из Jar в JEditorPane;работает в Netbeans, а не из Jar - PullRequest
0 голосов
/ 07 января 2012

извините, если это очевидно, но я искал несколько дней и, похоже, не могу найти ответ.

Здесь ситуация. Я пытаюсь прочитать из файла RTF, расположенного в файле JAR, а затем отобразить его в JEditorPane. Это работает из среды Netbeans, но не при выполнении файла JAR в папке dist. Вариант этого вопроса задавался ранее, но я не думаю, что предыдущие ответы применимы к моему заявлению. (Причина в том, что 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);
    }

Любая помощь очень ценится! Спасибо!

1 Ответ

1 голос
/ 08 января 2012

Используйте URL, полученный из getResource(), чтобы загрузить документ. Если он находится в банке, он не будет доступен как File.

Примерно так:

URL urlToRtf = this.getClass().getResource("files/general.rtf");
descPane.setPage(urlToRtf);
...