A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 曾辉 黑马帝   /  2012-2-17 10:58  /  1389 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

public class ReadereTest {
public static void main(String[] args) throws IOException {
  try {
    Reader is=new FileReader("d:\\tet.txt");
                                 int i=0;
  while ((i=is.read())!=-1) {
     System.out.print((char)i);
  }
  is.close();
  } catch (FileNotFoundException e) {
   e.printStackTrace();
   System.out.println("文件没有找到");
  }  
  }
}
问题:  int i=0;
              while ((i=is.read())!=-1)
i是int ,然而is.read()视乎读到的是一个数据字节,数据字节是一个int类型吗?

2 个回复

倒序浏览
字符流,读取的是一个字符(2个字节),将读到的两个字节存放于int(4个字节)低位的那两个字节,接着使用char强制类型转换,打印输出字符。

评分

参与人数 1技术分 +1 收起 理由
admin + 1

查看全部评分

回复 使用道具 举报
它是字符流啊,它的基本单位是char。read()返回的是一个字符的int表现形式,char和int是可以转换的。你应该要看看API
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马