从java、windows、linux中分析\r和\n

编程知识 更新时间:2023-04-06 22:40:38

先给出\r、\n的ASCII值


windows中\r\n表示换行:

新建一个txt文件,输入A换行B,然后查看txt的十六进制,参照上图0D 0A即回车换行(\r\n)结果如下:

linux中\n表示换行:

同样在linux新建一个txt文件,输入A换行B,然后查看txt的十六进制,只有0A 即换行(\n)结果如下:
下面是用记事板打开,可以看到没有换行

疑问1:为什么有些文件只有\n为什么也能看到有换行效果 因为有些编辑工具做过特殊处理,遇到只有\n的情况也视为换行 可以看到把上面在linux创建的文件在记事本打开后,奇迹发生了,没有换行。但是换个编辑器查看,奇迹又发生了,又可以看到换行了。 有时候把linux下的log日志拿到windows下用记事本打开没有换行,用其它工具打开看到有换行就是这个原因

JAVA中,对于换行可以参考API,如下图


实际上,在java中经常用\n就表示换行了,为什么不用\r\n呢,因为用\n就可以达到换行效果还节省字节。但是用\r\n 也没错的。

但是有些人说只用\r也能达到换行效果就是误人子弟了,请测试

System.out.println("diu le you mu you\r!!!\r");
System.out.println("rnrn\r\nrnrn");
System.out.println("nn\nnn");

在Eclipse中确实看到换行效果了,请注意这是eclipse做的优化罢了,就想上面说的编辑工具一样

这是直接在cmd命令下执行结果


这是在IDEA执行的结果,错的更多了


更多推荐

从java、windows、linux中分析\r和\n

本文发布于:2023-04-06 22:40:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/51937e2897a5182ad0112879919abca6.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:java   windows   linux

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!

  • 51182文章数
  • 14阅读数
  • 0评论数