Попытка прочитать файл rtf из Jar в JEditorPane; работает в Netbeans, а не из Jar

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

Здесь ситуация. Я пытаюсь прочитать из файла 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 ответ

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

Что-то вроде этого:

URL urlToRtf = this.getClass().getResource("files/general.rtf");
descPane.setPage(urlToRtf);
Другие вопросы по тегам