System.getProperty("line.separator"); 之间的区别和“\n”?
Posted
技术标签:
【中文标题】System.getProperty("line.separator"); 之间的区别和“\\n”?【英文标题】:Difference between System.getProperty("line.separator"); and "\n"?System.getProperty("line.separator"); 之间的区别和“\n”? 【发布时间】:2016-08-16 05:18:21 【问题描述】:在使用 Java FX 开发 GUI 时,在写入文件或从 Internet 获取数据期间,System.getProperty("line.separator");
和 "\n"
似乎得到了不同的结果。基本上有什么区别?
【问题讨论】:
有几个密切相关的问题。我不确定一个人是否完全符合重复的条件,但至少,你的问题基本上在这里得到了回答:***.com/a/33505978/3182664 【参考方案1】:System.getProperty("line.separator")
返回操作系统相关的行分隔符。
在 Windows 上返回 "\r\n"
,在 Unix 上返回 "\n"
。因此,如果您想为当前操作系统生成带有行尾的文件,请使用System.getProperty("line.separator")
或使用PrintWriter
写入。
【讨论】:
那么,您认为哪个更好?请提出建议。 @TilakMadichetti 取决于用例。如果您想要当前操作系统的换行符,请使用第一种形式。你想写什么? 我想将大量单词写入一个文件,并且每个单词都有一个行间距。 @TilakMadichetti 如果您使用\n
生成换行符并在Windows 上用坏的编辑器(比如记事本)打开文件,则不会显示换行符。但同样优秀的编辑器将能够处理 unix 和 windows 换行符......【参考方案2】:
在Windows平台上,System.getProperty("line.separator")是"\r\n", “\n”(Linux 和 MacOS X)、“\r”(MacOS 9 及更早版本)
【讨论】:
你因为提到旧的\r
行分隔符而得到我的支持!【参考方案3】:
System.getProperty("line.separator")
取决于平台:
而“\n”只是“\n”。
【讨论】:
【参考方案4】:«\n» 是大多数操作系统(如 Linux/Unix)的行分隔符。为确保与任何操作系统的兼容性,请使用 System.getproperty 查询此值
【讨论】:
以上是关于System.getProperty("line.separator"); 之间的区别和“\n”?的主要内容,如果未能解决你的问题,请参考以下文章
System.getProperty("line.separator"); 之间的区别和“\n”?
System.getProperty("line.separator") 和 "\n" 导致列表视图不填充
System.getProperty("user.dir"); 获得系统属性
由System.getProperty("user.dir")引发的联想