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