黑马程序员技术交流社区

标题: BufferedReader中的readLine()方法是怎么判断读到末尾的 [打印本页]

作者: 胖胖爱java    时间: 2015-1-11 00:46
标题: BufferedReader中的readLine()方法是怎么判断读到末尾的
不清楚readLine()是怎么判断读到文件尾返回null的,为什么到是要读取键盘录入的时候是阻塞状态,不是输入完一句按了回车键吗。当读到\r\n的时候,就应该没有内容可读了啊。

作者: 当我遇上你    时间: 2015-1-11 02:43
你试试按两个回车然后输出什么符号,如果只有空格的ascii码应该就是、\r\n结束一行
作者: 碎流    时间: 2015-1-11 18:55
是接受一个null的指令结束的,因为它底层也是将数据一个一个读取之后放入一个StringBuilder,然后再一次性返回.当StringBuilder中没有数据的时候,返回一个null,这时候,RedeLine就可以接受一个null,判断结束了.
作者: 时间来过    时间: 2015-1-11 20:19
readLine方法读到换行,回车或回车后直接跟着换行时,java认为是读取的这一行终止了,会继续读取下一行。并没有读取到文件尾,只有readLine读到文件尾的时候才会返回null




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