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

Par*_*rel 4 java newline

我正在查看这个函数的文档,他们似乎非常模糊地说出来.

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

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

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

Joh*_*ica 6

OpenJDK的源代码显示nextLine()将此正则表达式用于行分隔符:

private static final String LINE_SEPARATOR_PATTERN =
                                       "\r\n|[\n\r\u2028\u2029\u0085]";
Run Code Online (Sandbox Code Playgroud)