当然了 中文是两个字节 read()方法是读出一个字节 当然是乱码了

解决方案 »

  1.   

    用readUTF来读也可以,或者你把读出的字符串做一次GB2312的转换也可以
    string msg=new string("iso-8859-1","GB2312");
      

  2.   

    try一段也可以这么写,也就是使用Reader来设定编码
     try {
          FileInputStream in = new FileInputStream("E:\\share\\myfile.txt.txt");
          InputStreamReader reader=new InputStreamReader(in,"GB2312");
          int i=0;
          while((i=reader.read())!=-1){
            System.out.println((char)i);      }
          reader.close();
          in.close();
        }