在工作中需要用到生成文件及写入文件内容的,开始时使用FileWriter写入文件内容,在使用生成的文件时,发现编码不正确,于是找FileWriter怎么设置编码,找遍了所有的FileWriter方法都没有设置编码的。于是乎,想到换其它方式解决。现在找到了一种替代的方式。方式如下:

OutputStreamWriter out = new OutputStreamWriter(new FileOutputStream(sFilePath),"UTF-8");
         out.write(sContent);
         out.flush();
         out.close();

使用FileWriter写入文件内容的代码为:

  FileWriter fw=new FileWriter(sFilePath);
  fw.write(sContent);
  fw.close();

总结:

     FileWriter在写文件的时候在中文win下encoding基本是gb2312,在en的win下基本是iso-8859-1,总之不是utf-8。
         所以要创建一个utf-8的文件,用FileWriter是不行的。
         目前不知道如何更改FileWriter用来写文件的编码方式,因此对于创建utf-8文件使用OutputStreamWriter方式来代替。