3

I want to implement a help system for my tiny SWT desktop application.

I've thought about a SWT browser widget containing a single html markup page and a set of anchors to navigate (there are only very few things to explain).

Everything works fine, but how do I load the html file from a jar?

I know aboutgetClass().getClassLoader().getResourceAsStream("foo");, but what is the best practice when reading from the input stream? The answer to Load a resource contained in a jar dissuades using a FileInputStream.

Thanks in advance

Community
  • 1
  • 1
f4lco
  • 3,728
  • 5
  • 28
  • 53

2 Answers2

5

Well, I found a rather simple solution that obviously just works:

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());
f4lco
  • 3,728
  • 5
  • 28
  • 53
4

i tend to use commons-io for such a task giving me simple abstraction methods like IOUtils.toString(InputStream in); and leaving the choice of best implementations to the able people at apache ;)

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

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

fasseg
  • 17,504
  • 8
  • 62
  • 73