import java.io.*;
public class TestEncoding{
  public static void main(String[] args)
  throws IOException{
    BufferedReader in=new BufferedReader(new FileReader(args[0]));
    String s=new String();
    while((s=in.readLine())!=null)
      System.out.println(s);
    in.close();
  }
}

解决方案 »

  1.   

    testcode.txt是用记事本编辑的一段中文,保存时选择了Unicode选项。
    为什么要这样做呢?notepad save成ansi.
    System.out.println(new String(s.getBytes()));//用的是local encoding.
      

  2.   

    谢谢3332221119,这样写当然没有问题。我的问题主要是想测试java是如何处理编码的。
    看了一堆东西,以为偶明白了,可惜写出来的测试代码并没有预期的结果,请大家继续指点~~hayai DX,如果我非要这么做呢?:)~
      

  3.   

    是这样的,java propertites里面有一个java.encodeing的属性
    通常,java对文件是iso8859-1,数据库由数据库来决定
    也有的一些是按照base64编程
    你要按照不同的数据源来判断不同的数据字符集
      

  4.   

    问题出在windows notepad上,一旦save成unicode.java是没有办法认出来的。microsoft混蛋。
      

  5.   

    真这样?unicode不是一个标准么?有没有相关的资料,等我确认后找<该死>算账~哼!