解决方案 »

  1.   

    用OutputStreamWriter 代替FileWriter吧,这个类可以指定编码。
      

  2.   

    方老师,学生把代码WriteTxt类型的write方法修改成为如下的结构:
    public static void write(String filePath) {
    File file = new File(filePath);
    OutputStream out = null;
    try {
    out = new FileOutputStream(file,true);
    } catch (FileNotFoundException e1) {
    // TODO Auto-generated catch block
    e1.printStackTrace();
    }
    try {
    OutputStreamWriter output = new OutputStreamWriter(out, "utf-8");
    BufferedWriter bf = new BufferedWriter(output);
    for (String l : ReadTxt.logData) {
    bf.write(l + System.getProperty("line.separator"));
    }
    bf.flush();// 此处很关键,如果不写该语句,是不能从缓冲区写到文件里的
    } catch (FileNotFoundException e) {
    e.printStackTrace();
    } catch (IOException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    } }
    结果,写到学生的C盘的“txt.txt”文件之下后,得到了下面的写入效果:
            
            请问方老师,学生本想写入一个“String”,作为测试用的。
            现在,学生得到了一个“乱码”,学生应该怎么修改,能够让这个需求,被实现?
            谢谢敬爱的方名师姐!!
      

  3.   

    本帖最后由 fangmingshijie 于 2014-06-18 08:51:08 编辑
      

  4.   

    方老师,学生没有表达清楚:
    学生是做了一个测试类型,把上面学生弄的这个WriteTxt类中的write方法进行了学生写出的三楼的帖子中的write方法的代码定义。
    学生把能够定义编码格式的OutputStreamWriter这个类型嵌入了WriteTxt类型中。
    现在,学生在新的测试类型程序入口中进行了如下代码的书写:package d_port_package;public class Test0000 {
    public Test0000(){
    String filePath = "C:\\txt.txt";
    String str = "测试写入数据";
    ReadTxt.readMemoryData(str);//学生把str中的数据存入了学生WriteTxt类型的1楼中第15行的“ReadTxt.logData”对象数组中以达到让WriteTxt类型能够把本数据写入到硬盘中。
    WriteTxt.write(filePath);
    }

    public static void main(String[] args){
    new Test0000();
    }
    }         方老师,现在学生遇到的问题是:
             学生在学生新书写的这个Test0000测试类型中进行第6行新定义的“String类型的数据:测试写入数据”的String变量的面向学生本贴中第5行写入路径的“C:\\txt.txt”路径中的文本文档中的写入的时候,学生的数据“测试写入数据”,写入txt文件的效果为:
             
            学生希望恩师能够点拨:
            学生怎么做,能够把这里的乱码“浡譐儣儑旴捠”
            在经过WriteTxt类型作用后,能够原本想要写入到"C:\\txt.txt”文件中的数据“测试写入数据”,恢复成为学生想要写入的“测试写入数据”的内容?
            谢谢伟大的方名师姐的亲临指导!!!!!
            
      

  5.   

    恩师,学生刚才又用了EditPlus查看了学生刚刚写入到“C:\\txt.txt”文档中的数据的编码格式。
    内容如下:
      

  6.   

    学生希望恩师能够点拨:
            上面的编码格式,为什么是“utf-8 + Bom”的?
            如果进行代码编辑的话,学生怎么做,能够做出:
            “UTF-8”的编码格式?
            谢谢尊敬的方名师姐!!尊敬的CSDN!!
      

  7.   

    http://stephen830.iteye.com/blog/259872
    这是学生看到的地址.
    谢谢方老师!!