当前位置:  开发笔记 > 编程语言 > 正文

是否在Java中定义了Newline常量,如C#中的Environment.Newline?

如何解决《是否在Java中定义了Newline常量,如C#中的Environment.Newline?》经验,为你挑选了3个好方法。

在C#中,静态属性Environment.Newline根据运行平台而改变.

Java中有类似的东西吗?



1> Tom Lokhorst..:

从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()](http://docs.oracle.com/javase/7/docs/api/java/lang/System.html#lineSeparator %28%29)
在Android中,调用还需要API 19

2> J.Steve..:

从Java 7开始:

System.lineSeparator()

Java API:System.lineSeparator

返回依赖于系统的行分隔符字符串.它始终返回相同的值 - 系统属性line.separator的初始值.在UNIX系统上,它返回"\n"; 在Microsoft Windows系统上,它返回"\ r \n".



3> Alan Moore..:

请注意,此属性并不像许多人认为的那样有用.例如,仅仅因为您的应用程序在Windows计算机上运行,​​并不意味着它正在读取的文件将使用Windows样式的行分隔符.许多网页包含"\n"和"\ r \n"的混合,从不同的来源拼凑而成.当您将文本作为一系列逻辑行读取时,应始终查找所有三种主要的行分隔符样式:Windows("\ r \n"),Unix/Linux/OSX("\n")和pre-OSX Mac("\ r").

当您编写文本时,您应该更关心文件的使用方式而不是您正在运行的平台.例如,如果您希望人们在Windows记事本中读取该文件,则应使用"\ r \n",因为它只识别一种分隔符.


好吧,无论机器本身是否仍然在使用,你必须假设还有那些在OSX之前的Mac上写过*的文件.我知道将'(?:\ r?\n |\r)'缩短为`(?:\ r?n)`是很诱人的,但不,我不认为它是安全的.无论如何,我更喜欢`(?:\ r \n | [\ r \n])` 我知道它的角色更多,但它看起来更整洁.:D如果你不在乎*你消耗了多少*行分隔符,`[\ r \n] +`工作正常.
推荐阅读
勤奋的瞌睡猪_715
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有