我的java文件时UTF-8的
我用System.out.println(str);在控制台上显示是正常的中文。但是我用
FileWriter fw = new FileWriter("D:\\ddddd.csv");fw.write(str);fw.close();写入ddddd.csv文件的时候全是乱码。我转换了几次都不行.这是怎么回事?????????????

解决方案 »

  1.   


    fw.write(new String("测试文件".getBytes("GB2312"), "UTF-8"));
     fw.write(new String("测试文件".getBytes("GB2312"), "8859_1"));
    试试
      

  2.   

    "测试文件" -  str  
      

  3.   

    参考这个。。
            //System.out.println("\u6C49");
            FileOutputStream fos = new FileOutputStream(new File("D:/1.txt"));
            OutputStreamWriter osw = new OutputStreamWriter(fos, "UTF-8");
            BufferedWriter bw = new BufferedWriter(osw);
            bw.write("\u6C49");
            bw.write("\u6C49");
            bw.write("\u6C49");
            bw.close();        FileInputStream fis = new FileInputStream(new File("D:/1.txt"));
            InputStreamReader osi = new InputStreamReader(fis, "UTF-8");
            BufferedReader br = new BufferedReader(osi);
            String str = null;
            while ((str = br.readLine()) != null)
            {
                System.out.println(str);
            }
        }