黑马程序员技术交流社区

标题: 关于流对象读取结束符的疑问 [打印本页]

作者: michaelchen    时间: 2013-3-20 19:28
标题: 关于流对象读取结束符的疑问
本帖最后由 michaelchen 于 2013-3-20 20:11 编辑

/*在D盘根目录下创建一个Demo.txt的文件,内容为abcde,用FileReader类来实现打印*/
  1. import java.io.*;
  2. class FileReaderDemo
  3. {public static void main(String[] args)throws IOException//为了简化书写,直接抛异常
  4.         {FileReader fr=new FileReader("Demo.txt");
  5.          int ch=0;
  6.          while((ch=fr.read())!=-1)//为什么结束标识符是-1呢?
  7.          {System.out.println((char)ch);//取出一个字符就打印
  8.          }
  9.          fr.flush();//刷新数据
  10.          fr.close();//关闭数据流
  11.         }
  12. }
复制代码
为什么流读取结束符标识为-1 呢?小弟深感疑惑。
作者: 程媛媛    时间: 2013-3-20 19:40
因为read()方法在定义的时候就是这样的,当读取的字符数,到达流的末尾,就返回 -1。

作者: HM赵磊    时间: 2013-3-20 19:47
每个文件最后面有一个结束标记 EOF




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