siv*_*636 65 java newline carriage-return
在Java中,换行符和回车符似乎都显示出相同的效果.
char文字\n
和\r
Java 之间的实际差异是什么?
T.J*_*der 85
\n
是换行(LF)字符,字符代码10. \r
是回车(CR)字符,字符代码13.它们的作用因系统而异.例如,在Windows上,文本文件中的行使用CR终止,然后立即使用LF(例如,CRLF)终止.在Unix系统及其衍生产品上,只使用LF.(Mac OS X之前的Mac使用CR,但Mac OS X是*nix衍生物,因此使用LF.)
在过去,LF确实只对打印机进行换行(向下移动一行而不移动到页面上的水平位置),并且CR类似地移回到行的开头而不移动纸张,因此一些系统(如Windows)发送CR(返回到左侧)和LF(并向上送纸).
由于所有这些混乱,一些输出目标将接受多个换行符序列,因此您可以从任一角色看到相同的效果,具体取决于您输出的内容.
Jul*_*les 56
\n
是因为unix
\r
是针对mac(OS X之前)
\r\n
是针对Windows格式的
你也可以 System.getProperty("line.separator")
它会为您提供适合您的操作系统
Cyr*_*llC 15
这取决于您使用的平台.要获得正确的结果,请使用 -
System.getProperty("line.separator")
Run Code Online (Sandbox Code Playgroud)
它实际上取决于用于打印结果的内容。通常,结果是一样的,就像你说的那样 -
从历史上看,回车应该与home
按钮的作用相同:将插入符号返回到行的开头。
\n
应该给你一个新行但不移动插入符号。
如果您想到旧打印机,您就会想到字符集的原始作者的想法。移动送纸器和移动插入符是不同的操作。这两个字符表达了这种差异。