如何将中文字符写入文件

时间:2014-08-21 10:01:13

标签: java java-ee character-encoding

我使用此代码将一些中文字符写入文件:

String str = "询问需求";
byte[] byteArray = str.getBytes("UTF-8");
FileOutputStream fous = new FileOutputStream(f);
fous.write(byteArray);
fous.close();

之后的结果是询问需求。问题是什么?

1 个答案:

答案 0 :(得分:0)

编写文本数据时,请使用编写器,并指定要使用的编码。总是,也不例外。

所以在你的情况下:

Writer out =  new OutputStreamWriter(new FileOutputStream(file), "utf-8");
out.write(str);
out.close();

另外,显然,请确保您的源代码已正确编码。例如,如果以UTF-16保存,但让javac默认为UTF-8,则字符串的内容将不符合您的想法。

最后,在使用外部编辑器打开文件内容时,请确保它知道文件的编码格式。如果它打开UTF-8编码文件(假设它是MacRoman),它将无法正确显示。

相关问题