Okay it works fine now. I just swapped the offending line...

[CODE]
InputStream is = getClass().getResourceAsStream( path );
[/CODE]

...for this line...

[CODE]
FileInputStream is = new FileInputStream( filePath );
[/CODE]

...and I can get to files outside the jar file and set the encoding fine. Phew.