FileWriter uses "the default character encoding", which seems like
asking to live in interesting times. The program assumes UTF-8 when
it reads the file, so it should obviously do the same when it writes
it back.
\r
if (changed) { \r
System.out.println("..updating");\r
- File of = new File(filespec);\r
- BufferedWriter wi = new BufferedWriter(new FileWriter(of));\r
+ FileOutputStream fo = new FileOutputStream(filespec);\r
+ OutputStreamWriter osr = new OutputStreamWriter(fo, "UTF-8");\r
+ BufferedWriter wi = new BufferedWriter(osr);\r
wi.write(output.toString());\r
wi.close();\r
+ osr.close();\r
+ fo.close();\r
}\r
\r
}\r