写点什么

Java System.lineSeparator 方法

作者:HoneyMoose
  • 2022 年 8 月 10 日
    美国
  • 本文字数:495 字

    阅读完需:约 2 分钟

回车换行问题

在不同操作系统中对回车换行的定义是不一样的。

Windows 的回车换行是 2 个字符,对应的是回车+换行,写法就是我们常用的 \r\n

Unix 系统下对这个回车换行进行了简化,变成了使用 \n 来表示。

这里就出现了一个问题,对应不同的操作系统,同样的文本,如果只用 \n 的话, Windows 系统读的文本没有换行,只有回车。

JDK 1.7 之前

在 JDK 1.7 之前,如果我们要解决这个问题,我们会使用下面的代码:

System.getProperty("line.separator");

JDK 是使用属性配置文件来进行定义的。

这个方法的写法有点容易出错,毕竟是文本了,敲错字很正常。

System.lineSeparator

Java 的 System.lineSeparator 这个方法对 System.getProperty("line.separator"); 进行了封装。

这个方法是在 JDK 1.7 以后才提供的,我们直接用就可以了。

如果你查看 JDK 的源代码的话。

 


这里非常清楚的显示了对代码的封装。

代码显示也非常清楚,这个是从版本 1.7 开始的,主要就是为了 Unix 和 Windows 回车换行问题。

 


如果你的 JDK 比较新,就大胆用吧。

按照目前 JDK 主流的版本是 1.8 的情况,大部分情况都不会有什么问题。

 

https://www.ossez.com/t/java-system-lineseparator/14052

用户头像

HoneyMoose

关注

还未添加个人签名 2021.03.06 加入

还未添加个人简介

评论

发布
暂无评论
Java System.lineSeparator 方法_HoneyMoose_InfoQ写作社区