【问题标题】: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" 似乎得到了不同的结果。基本上有什么区别?

【问题讨论】:

  • 有几个密切相关的问题。我不确定一个人是否完全符合重复的条件,但至少,你的问题基本上在这里得到了回答:stackoverflow.com/a/33505978/3182664

标签: java javafx-8 file-handling


【解决方案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”在 UNIX 风格的机器上
  • “\r\n”在 Windows 机器上

而“\n”只是“\n”。

【讨论】:

    【解决方案4】:

    «\n» 是大多数操作系统(如 Linux/Unix)的行分隔符。为确保与任何操作系统的兼容性,请使用 System.getproperty 查询此值

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-10-18
      • 2020-05-16
      • 2016-02-03
      • 2019-01-28
      • 2011-01-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多