IO读写流的一个乱码问题
public class TestEOF {public static void main(String[] args)
throws IOException{
DataInputStream in = new DataInputStream(
new BufferedInputStream(
new FileInputStream("src/io/TestEOF.java")));
while(in.available() != 0)
System.out.print((char)in.readByte());
}
}
为什么要(char)in.readByte()
当我用in.readChar()时就会出现乱码?
而这个文件本身就是字符,我感觉用的方法不会出现乱码,用它的方易做图乱码,而事实证明我是错的。 IO 乱码 --------------------编程问答-------------------- readByte()返回的是一个数字,应该是0-255之间。如果你用char进行强制转换的话,就会得到相应的字符了,不过如果有中文字符的话,应该是显示不出来的,中文编码一般都在255以上。 --------------------编程问答-------------------- 你这里好像用的都是字节流吧,可以用readchar,也需要制定编码吧。
补充:Java , Java SE