请教I/O问题

liboren 2009-07-19 11:28:58
代码如下:
import java.io.*;
public class Test {
public static void main(String[] args) {
int b = 0;
FileReader in = null;
try {
in = new FileReader("d:\\TestFileInputStream.java");
} catch (FileNotFoundException e) {
System.out.println("找不到指定文件");
System.exit(-1);
}

try {
long num = 0;
while((b=in.read())!=-1){
System.out.print((char)b);
num++;
}
in.close();
System.out.println();
System.out.println("共读取了 "+num+" 个字节");
} catch (IOException e1) {
System.out.println("文件读取错误"); System.exit(-1);
}
}
}



红色部分,为什么要强制转化为char类?
...全文
69 8 打赏 收藏 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
shkly 2009-07-19
  • 打赏
  • 举报
回复
b = in.read()读到的是ascii编码,要显示字符就需要转换
knightzhuwei 2009-07-19
  • 打赏
  • 举报
回复
如果不转它就是个int 打出来就是个数字 你要看数字么?
aa870816 2009-07-19
  • 打赏
  • 举报
回复
这个代码不是可以的吗,有什么问题啊????
看不出来请多指教~~~~
fairyDragon 2009-07-19
  • 打赏
  • 举报
回复
学习..
hyhymn 2009-07-19
  • 打赏
  • 举报
回复
mark.
tyt2222008 2009-07-19
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 knightzhuwei 的回复:]
如果不转它就是个int 打出来就是个数字 你要看数字么?
[/Quote]
正解
贝隆 2009-07-19
  • 打赏
  • 举报
回复
飘过
冰思雨 2009-07-19
  • 打赏
  • 举报
回复
你的文件,应该是一个ACSII编码的文件。里面的所有字符都被编码过的。
一个字节对应一个字符。其对应关系,可以参照《ACSII编码对照表》。
如果你想显示文件中的字符内容,当然要强制转换成字符。
否则,显示的只是字符的ACSII码,不信,你可以根据对照表核对一下。

62,620

社区成员

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

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