FileReader fr = new FileReader(f);
//System.out.print(fr.getEncoding());
BufferedReader br = new BufferedReader(fr);
String str = br.readLine();
while(str!= null) {
ta.append(str);
ta.append("\n");
str = br.readLine();
}
ta.append("中");
fr.close();
br.close();
ta是textarea,f是一个txt文件,问题是可以显示“中”,但是从f中读取的中文字不能正确显示,怎么回事?

解决方案 »

  1.   

    文件不是系统默认的gbk编码?
      

  2.   

    显示成了方框,文件是txt,可以用记事本打开。不知道为什么append("中"),可以在textarea正常显示,但是append(str)如果是有中文就是方框。
      

  3.   

    FileInputStream fr = new FileInputStream(f);
    InputStreamReader br = new InputStreamReader(fr, "GB2312");
    改成这样试试呢
      

  4.   

    fr = new FileInputStream(f);
    InputStreamReader b = new InputStreamReader(fr, "GB2312");
    BufferedReader br = new BufferedReader(b);
      

  5.   

    这个方法可以,试过用utf-8不行,为什么要用GB2312。