Виджет SWT-браузера: источник html внутри jar? - PullRequest
3 голосов
/ 28 февраля 2011

Я хочу внедрить справочную систему для моего крошечного настольного приложения SWT.

Я думал о виджете браузера SWT, содержащем одну страницу разметки html и набор якорей для навигации (объяснение объясняется очень мало).

Все отлично работает, но как мне загрузить html-файл из банки?

Я знаю о getClass().getClassLoader().getResourceAsStream("foo");, но что является лучшим методом при чтении из входного потока? Ответ на Загрузка ресурса, содержащегося в банке отговаривает с помощью FileInputStream.

Заранее спасибо

Ответы [ 2 ]

5 голосов
/ 28 февраля 2011

Ну, я нашел довольно простое решение, которое, очевидно, просто работает:

InputStream in = getClass().getClassLoader().getResourceAsStream("html/index.html");
Scanner scanner = new Scanner(in);
StringBuffer buffer = new StringBuffer();
while(scanner.hasNextLine()) {
    buffer.append(scanner.nextLine());
}

browser.setText(buffer.toString());
4 голосов
/ 28 февраля 2011

Я склонен использовать commons-io для такой задачи, давая мне простые методы абстракции, такие как IOUtils.toString(InputStream in); и оставляя выбор лучших реализаций способным людям в apache;)

commons-io: http://commons.apache.org/io/

apidocs: http://commons.apache.org/io/api-release/index.html

...