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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 杜加璇 中级黑马   /  2013-4-2 22:36  /  1718 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 杜加璇 于 2013-4-3 11:51 编辑

public class What {
        public static void main(String[] args) throws IOException {
                FileReader fr = new FileReader("text.txt");
                int x;
                while ((x = fr.read()) != -1)                      //
                        System.out.print((char) x);

        }
while ((x = fr.read()) != -1)   这里为什么要返回一个int型的呢 ,输出时还得转成char行为什么不可以直接返回char型呢

评分

参与人数 1技术分 +1 收起 理由
冯海霞 + 1

查看全部评分

3 个回复

倒序浏览
因为read()读到的是一个int值,返回:下一个数据字节,如果到达文件的末尾返回-1.  如果你  System.out.print(fr.read());就会得到一个int值。所以要返回int类型;

评分

参与人数 1技术分 +1 收起 理由
冯海霞 + 1

查看全部评分

回复 使用道具 举报
FileReader类的read();方法是读取一个字节,若已达到流结尾则返回-1.
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马