views:

33

answers:

1

I have a UTF-8 file stored inside a java jar file. I am trying to read it using the method getResourceAsStream(), but the input stream reader that is returned by the function uses the default encoding, which is the ANSI one under Windows.

How can I read a UTF-8 text file from inside a jar?

+7  A: 

Create an InputStreamReader around the InputStream, specifying UTF-8 as the encoding.

Note: I'm not sure what you mean by "the input stream reader that is returned by the function uses the default encoding" - getResourceAsStream() returns an InputStream, which reads binary data. That's not a reader at all (dealing with character data).

Jon Skeet
Thanks, I was stuck looking at the return type of getResourceAsStream and thinking that it returns an InputStreamReader, whereas it returns an InputStream. That's what you get if you program while tired :-).
axilmar