为什么在CharBuffer中得到的是乱码?
1、在学习中自己写了一个函数,读取文件的内容,并将其输出到控制台上,可是输出的总是乱码,请大家多多帮助!
2、源程序如下:
public static void read(String file){
try{
FileInputStream in =new FileInputStream("c:\\"+file+".txt");
FileChannel chan=in.getChannel();
Charset latin1 = Charset.forName("US-ASCII");
CharsetDecoder decoder = latin1.newDecoder();
ByteBuffer buffer=ByteBuffer.allocate(64);
while(true){
buffer.clear();
int num=chan.read(buffer);
System.out.println("Amount :"+num);
if(num==-1) break;
CharBuffer cb = decoder.decode(buffer );
while(cb.hasRemaining()){
System.out.println(cb.get());
}
}
}
catch(Exception e){
e.printStackTrace();
}
}