My program use StringWriter to get the unicode in a HTMLEditorKit by this code: Writer textOut = new StringWriter(); htmlEditorkit.write(str, doc, start, end); The string I got from this method is in the format of decimal unicode (e.g. 雅). Actually, I do not mind that it is in this format. However, I need to save this string into a file with the format of UTF-8. I have tried to use the following codes: FileOutputStream fos = new FileOutputStream(new File(fileName)); BufferedWriter out = new BufferedWriter(new OutputStreamWriter(fos, "UTF-8")); out.write(str); ... However, the content in the file saved is still in the format of decimal unicode. How can I get the file with the content in the UTF-8? Thanks!