在Java中,换行符和回车符似乎都显示出相同的效果。
在java语言中,字符字面量\n
和\r
的实际区别是什么?
注意,上面询问的是\n
字符,而不是BufferedWriter
上的newLine()
函数,因此与this other question无关。
发布于 2012-02-13 20:01:30
\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 (并向上送纸)。
由于所有这些混淆,一些输出目标将接受多个换行符序列,因此您可以从任意一个字符中看到相同的效果,具体取决于您要输出的内容。
发布于 2012-02-13 20:07:40
\n
是用于unix的。
\r
适用于苹果电脑(在OS之前)
\r\n
是用于windows格式的
您也可以使用System.getProperty("line.separator")
它将为您提供适合您的操作系统的
发布于 2012-02-13 20:04:05
这取决于您使用的平台。要获得正确的结果,请使用-
System.getProperty("line.separator")
https://stackoverflow.com/questions/9260126
复制相似问题