工作需要必须创建UTF-16格式的文件.这几天在网络上找,似乎没有此类话题,无论是国外还是国内.
代码: 
OutputStreamWriter fos = new OutputStreamWriter(new FileOutputStream(new File("c:\\2.csv")), "UTF-16");
fos.write("你好");
fos.flush();
fos.close();生成文件之后,我在windows平台打开.使用editeplus是乱码.使用记事本打开不乱码,保存时察看文件编码确是unicode big endian.  使用写字板打开时乱码.  使用excel打开仍然乱码.我不过,使用下面代码,就可以顺利创建UTF-8的文件.
OutputStreamWriter fos = new OutputStreamWriter(new FileOutputStream(new File("c:\\2.csv")), "UTF-8");
fos.write("你好");
fos.flush();
fos.close();
哪位碰到过这个问题.帮忙看看..

解决方案 »

  1.   

    用 Eclipse 吧,这个可以指定文件自己的编码的! 比如 UTF-16
      

  2.   

    对了,我再强调一下,我必须使用编程方式.
    而且,我已经使用eclipse建立了一个文件,修改成UTF-16,再用windows打开同样存在这样的问题.
      

  3.   

    这可能是Excel本身解码的问题,我试了一下,用UE和editplus打开没有问题,这只能说明Excel对编码格式的支持不是太好,程序本身是没有问题的,你可以查一下Excel的资料,看看有没有指定编码格式的办法。
      

  4.   

    jiangnaisong 已经在另一个相同的帖子上给与正确的答复。此问题已经解决,这是文件的格式问题。为了识别unicode文件,需要在文件的最前面加入一个字符串。如果有学习的朋友,可以到另外的帖子上瞧瞧。