【发布时间】:2017-09-22 06:34:52
【问题描述】:
我指的是this 问题并理解 \n 将光标移动到下一行而不重置它,而 \r 重置光标但不将其移动到下一行。并且 \r\n 在 Windows 中用作换行符。
因此,出于好奇,我将\r\n 和\n\r 与Java 中的一些其他值一起分配给字符串,并在我的Windows 环境中的控制台中打印它们。
System.out.println("ABC\r\nDEF");
System.out.println("ABC\n\rDEF");
输出 1:
ABC
DEF
根据我的理解,这里 \r 只是重置了光标并将其移动到同一行的开头(第 1 行),\n 将其推进到下一行(第 2 行)。因此DEF 打印在新行中。
输出 2:
ABC
DEF
但我无法理解输出 2。我认为这应该与输出 1 相同,因为如果 \n 将光标前进到下一行(第 2 行),然后如果 \r 将其重置并放置在同一行的开头(在这种情况下可能是第 2 行)那么为什么 DEF 没有在第 2 行打印?
编辑:
【问题讨论】:
-
@Obenland 那里没有提出或回答这个额外的问题。
-
@Obenland 您的链接仅提到 Windows 支持
\r\n。但 Windows 也仅支持\n和仅\r。因此,我得到了这个问题,并且在您提到的链接或 XtremeBaumer 提到的链接中没有回答。
标签: java string newline carriage-return linefeed