使用Java和\r\n-Java之间有功能上的区别吗

使用Java和\r\n-Java之间有功能上的区别吗,java,Java,我讨论了Java中不同的转义序列,想知道是否有人知道Java中\n和\r之间是否存在功能上的差异。 \n表示换行符,\r表示回车符,但其中一个是否比另一个有优势 由于(电视)打字机的缘故,这些字符具有历史意义: 回车(\r):将行内的位置重置为起始位置。有时,这被用于在多个字符的顶部键入多个字符,例如在字符下面加上\u或键入重音字符(例如,在上键入“以获取ä) 换行(\n):将垂直位置增加一行(保留行内的偏移) 对于(电传)打字机,它们是两种不同的操作/指令,而开始一条新行将是两种操作/指令

我讨论了Java中不同的转义序列,想知道是否有人知道Java中\n和\r之间是否存在功能上的差异。
\n表示换行符,\r表示回车符,但其中一个是否比另一个有优势

由于(电视)打字机的缘故,这些字符具有历史意义:

  • 回车(
    \r
    ):将行内的位置重置为起始位置。有时,这被用于在多个字符的顶部键入多个字符,例如在字符下面加上
    \u
    或键入重音字符(例如,在
    上键入
    以获取
    ä
  • 换行
    \n
    ):将垂直位置增加一行(保留行内的偏移)
对于(电传)打字机,它们是两种不同的操作/指令,而开始一条新行将是两种操作/指令的组合:回车和换行(
\r\n

在字符集中,您会遇到其他字符,这些字符不是书面语言的真正字符,而是通常用于电传打字机的指令(如贝尔、查询、确认、换页、垂直制表符等)

在windows系统上,您经常会遇到这种组合(
\r\n
),而在其他平台上,换行符有一个新的语义,即也执行换行符(因此只使用了
\n
)——这是最新的技术状态。

使用\n以确保安全

而且


在现代,按下键盘上的“home”(主页)按钮,你可以看到相当于回车的效果。

可能重复这个问题:是的,
\r
不会将回车移到新行。它只会将回车移到你所在行的开头。Java不在乎,你的操作系统在乎。Java will当您使用
System.out.println()
时,使用相关换行终止符;当您制作包含换行符的
字符串时,您希望使用
System.lineSeparator()
使用相关换行终止符如果您希望可移植。理想情况下,您不应该在Java代码中编写任何
\n
\r