黑马程序员技术交流社区

标题: 字符流问题 [打印本页]

作者: 杜加璇    时间: 2013-4-2 22:36
标题: 字符流问题
本帖最后由 杜加璇 于 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型呢
作者: yangyinhui    时间: 2013-4-2 23:10
因为read()读到的是一个int值,返回:下一个数据字节,如果到达文件的末尾返回-1.  如果你  System.out.print(fr.read());就会得到一个int值。所以要返回int类型;

作者: 奋斗2013    时间: 2013-4-2 23:13
FileReader类的read();方法是读取一个字节,若已达到流结尾则返回-1.




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2