原理大概是这样的:
开始先从文件的第0个字符开始读取,直到读取到“换行符”,到此,将第0个字符到“换行符”的前一个字符的所有内容返回(并记录下本次读取到的位置);
此后的每次调用readLine方法,则从上一次读取到的"换行符"的位置开始读取,直到读取到下一个“换行符”,并将内容返回(并记录下本次读取到的位置),如果读到了文件末尾,则返回null值。
所以,你每一次调用readLine,就会读取下一行,直到文件最后一个字符介绍才会返回null。
我的理解是:最后一行是没有字符的,只是文本显示器(比如说记事本)对回车符的解析我的理解:
以\r\n来表示回车
假设第一行:这是第一行\r\n
假设第二行:\r\n
假设第三行:下面是最后一行\r\n
记事本显示:
1:这是第一行
2:
3:下面是最后一行
4:
也就是说最后一行是没有字符的,只是倒数第二行最后面有个换行符(或者回车符之类的),所以记事本会把光标往下移动一行,出现了'最后一行’
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)