Java 中的字符文字 “\n” 和 '\r' 之间有什么区别?

2022-08-31 11:48:11

在Java中,换行符和回车符似乎都显示出相同的效果。

字符文本和Java之间的实际区别是什么?\n\r


请注意,上面询问的是字符,而不是 上的函数,因此另一个问题无关紧要。\nnewLine()BufferedWriter


答案 1

\n是换行符 (LF),字符代码为 10。 是一个回车 (CR) 字符,字符代码 13。它们的作用因系统而异。例如,在Windows上,文本文件中的行使用CR终止,后跟LF(例如,CRLF)。在Unix系统及其衍生产品上,仅使用LF。(Mac OS X之前的Mac使用CR,但Mac OS X是*nix衍生产品,因此使用LF。\r

在过去,LF实际上只是在打印机上做了一个换行(向下移动一行而不移动你在页面上的水平),而CR同样移回行的开头而不向上移动纸张,因此一些系统(如Windows)发送CR(返回到左侧)和LF(并向上进纸)。

由于所有这些混淆,某些输出目标将接受多个换行序列,因此您可以根据要输出到的内容从任一字符中看到相同的效果。


答案 2

\n是用于 unix
是用于 mac (在 OS X 之前)
是用于 Windows 格式\r\r\n

你也可以采取System.getProperty("line.separator")

它将为您提供适合您的操作系统