IO读写流的一个乱码问题

hnjdx814733170 2013-09-05 09:41:07
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()时就会出现乱码?
而这个文件本身就是字符,我感觉用的方法不会出现乱码,用它的方法会乱码,而事实证明我是错的。
...全文
114 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
2013-09-05
  • 打赏
  • 举报
回复
你这里好像用的都是字节流吧,可以用readchar,也需要制定编码吧。
wind_elf 2013-09-05
  • 打赏
  • 举报
回复
readByte()返回的是一个数字,应该是0-255之间。如果你用char进行强制转换的话,就会得到相应的字符了,不过如果有中文字符的话,应该是显示不出来的,中文编码一般都在255以上。

62,621

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧