java扫描程序的nextLine函数是否保证仅在换行符上划分?

时间:2016-08-27 02:06:46

标签: java newline

我正在查看此功能的文档,他们似乎非常模糊地说出来。

  

使此扫描程序超过当前行并返回跳过的输入。此方法返回当前行的其余部分,不包括末尾的任何行分隔符。该位置设置为下一行的开头。   由于此方法继续搜索输入以查找行分隔符,因此如果不存在行分隔符,它可以缓冲搜索要跳过的行的所有输入。

通过“任何行分隔符”,我应该将其解释为NUL,EM,FS,ETX等等,还是仅仅遇到它遇到的第一个换行符?

我真的希望javadocs更明确一些。

1 个答案:

答案 0 :(得分:6)

OpenJDK's source code显示nextLine()将此正则表达式用于行分隔符:

private static final String LINE_SEPARATOR_PATTERN =
                                       "\r\n|[\n\r\u2028\u2029\u0085]";