我想为我的小型SWT桌面应用程序实现一个帮助系统。
我考虑过一个SWT浏览器小部件,其中包含一个单独的html标记页面和一组要导航的锚点(只有很少的东西需要解释)。
一切正常,但如何从jar加载html文件?
我知道getClass().getClassLoader().getResourceAsStream("foo");
,但是从输入流中读取时最佳做法是什么? Load a resource contained in a jar的答案使用FileInputStream
来劝阻。
提前致谢
答案 0 :(得分:5)
好吧,我找到了一个相当简单的解决方案,显然只是起作用:
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());
答案 1 :(得分:4)
我倾向于使用commons-io来完成这样的任务,为我提供简单的抽象方法,如IOUtils.toString(InputStream in);
,并为apache的能干人选择最佳实现;)
commons-io:http://commons.apache.org/io/