SWT Browser小部件:jar里面的html源码?
我想为我的小型SWT桌面应用程序实现一个帮助系统。
我想过一个SWT浏览器小部件,它包含一个单独的html标记页面和一组要导航的锚点(只有很少的东西需要解释)。
一切正常,但如何从jar加载html文件?
我知道getClass().getClassLoader().getResourceAsStream("foo");
,但是从输入流中读取时的最佳做法是什么? 加载jar中包含的资源的答案使用FileInputStream
来FileInputStream
。
提前致谢
好吧,我发现了一个相当简单的解决方案,显然只是有效:
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());
我倾向于使用commons-io来完成这样的任务,给我简单的抽象方法,比如IOUtils.toString(InputStream in);
并将最佳实现的选择留给apache的能干人员;)
commons-io: http : //commons.apache.org/io/
apidocs: http ://commons.apache.org/io/api-release/index.html