在C#中,静态属性Environment.Newline根据运行平台而改变。
Java中有类似内容吗?
答案 0 :(得分:249)
从Java 7(和Android API级别19)开始:
System.lineSeparator()
对于旧版Java,请使用:
System.getProperty("line.separator");
有关其他属性,请参阅https://java.sun.com/docs/books/tutorial/essential/environment/sysprop.html。
答案 1 :(得分:87)
从Java 7开始:
System.lineSeparator()
Java API : System.lineSeparator
返回依赖于系统的行分隔符字符串。它总是回归 相同的值 - 系统属性的初始值 line.separator。在UNIX系统上,它返回“\ n”;在Microsoft Windows上 系统返回“\ r \ n”。
答案 2 :(得分:57)
请注意,此属性并不像许多人认为的那样有用。例如,仅仅因为您的应用程序在Windows计算机上运行,并不意味着它正在读取的文件将使用Windows样式的行分隔符。许多网页包含“\ n”和“\ r \ n”的混合,已经从不同的来源拼凑而成。当您将文本作为一系列逻辑行读取时,应始终查找所有三种主要的行分隔符样式:Windows(“\ r \ n”),Unix / Linux / OSX(“\ n”)和pre-OSX Mac(“\ r”)。
当您编写文本时,您应该更关心文件的使用方式,而不是您正在运行的平台。例如,如果您希望人们在Windows记事本中读取该文件,则应使用“\ r \ n”,因为它只识别一种分隔符。