InputStream in = new FileInputStream("D://11/1.txt");
byte [] buffer1 =new byte[1024];
int len =0;
while ((len=in.read(buffer1))!=-1) {
System.out.println(System.getProperty("sun.jnu.encoding")+"--"+System.getProperty("file.encoding")+"--"+len+"----"+new String(buffer1,"gbk"));
}
in.close();
输出结果:utf-8--UTF-8--58----大江东去浪淘尽,千古风流人物,故垒西边,人倒是三国周郎赤壁
已知:System.getProperty("sun.jnu.encoding")是utf-8
System.getProperty("file.encoding")是utf-8
为什么输出语句的时候new String(buffer1,"gbk"));必须要转码成gbk才可以不乱码,转成utf-8也乱码?
求解。。。。
------解决思路----------------------
因为文件的编码是 GBK