我是java的新手,并且想知道为什么有人会使用System.out.println()来改变行而不是仅仅放置" \ n"在括号内。这两者之间有什么不同吗?
答案 0 :(得分:6)
咨询Javadoc(强调我的):
[
PrintStream.println
]通过写行分隔符字符串来终止当前行。行分隔符字符串由系统属性line.separator
,定义,不一定是单个换行符('\n'
)。
例如,Windows使用\r\n
作为默认换行符。
答案 1 :(得分:0)
不同操作系统中的新行不同,例如
Unix based systems=> "\n"
windows => "\r\n"
and some other machines used just a "\r". (Commodore, Apple II, Mac OS prior to OS X, etc..)
如果你不使用println
,你必须自己管理这些,或者通过像这样的系统来获得
System.getProperty("line.separator");
答案 2 :(得分:0)
如评论中所示,仅添加\n
将无法在所有环境(例如Windows)中使用。如果要追加“手动”结尾的正确行,则需要使用
System.getProperty("line.separator");
或者,在Java 7中:
System.lineSeparator()
另见this answer(这两行代码的来源)。