我正在查看此功能的文档,他们似乎非常模糊地说出来。
使此扫描程序超过当前行并返回跳过的输入。此方法返回当前行的其余部分,不包括末尾的任何行分隔符。该位置设置为下一行的开头。 由于此方法继续搜索输入以查找行分隔符,因此如果不存在行分隔符,它可以缓冲搜索要跳过的行的所有输入。
通过“任何行分隔符”,我应该将其解释为NUL,EM,FS,ETX等等,还是仅仅遇到它遇到的第一个换行符?
我真的希望javadocs更明确一些。
答案 0 :(得分:6)
OpenJDK's source code显示nextLine()
将此正则表达式用于行分隔符:
private static final String LINE_SEPARATOR_PATTERN =
"\r\n|[\n\r\u2028\u2029\u0085]";
\r\n
是一个Windows行结尾。\n
是UNIX行结尾。\r
是Macintosh(pre-OSX)行结尾。\u2028
是LINE SEPARATOR。\u2029
是PARAGRAPH SEPARATOR。\u0085
是NEXT LINE (NEL)。