java 为什么readLine 读两次 可以直接读取下一行?

java 为什么readLine 读两次 可以直接读取下一行?,第1张

readLine方法每调用一次,就会读取本文文件的一行内容,方法的返回值就是读取的这一行的内容(字符串)。

原理大概是这样的:

开始先从文件的第0个字符开始读取,直到读取到“换行符”,到此,将第0个字符到“换行符”的前一个字符的所有内容返回(并记录下本次读取到的位置);

此后的每次调用readLine方法,则从上一次读取到的"换行符"的位置开始读取,直到读取到下一个“换行符”,并将内容返回(并记录下本次读取到的位置),如果读到了文件末尾,则返回null值。

所以,你每一次调用readLine,就会读取下一行,直到文件最后一个字符介绍才会返回null。

我的理解是:最后一行是没有字符的,只是文本显示器(比如说记事本)对回车符的解析

我的理解:

以\r\n来表示回车

假设第一行:这是第一行\r\n

假设第二行:\r\n

假设第三行:下面是最后一行\r\n

记事本显示:

1:这是第一行

2:

3:下面是最后一行

4:

也就是说最后一行是没有字符的,只是倒数第二行最后面有个换行符(或者回车符之类的),所以记事本会把光标往下移动一行,出现了'最后一行’


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/tougao/11774904.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-18
下一篇 2023-05-18

发表评论

登录后才能评论

评论列表(0条)

保存