java常识-java怎么换行「建议收藏」

java常识-java怎么换行「建议收藏」文章目录”\r”和”\n”的区别”\r”和”\n”的由来回车键和输入的”\n”有不同吗?系统影响java使用换行符的几种方式“\r”和”\n”的区别回车\r本义是光标重新回到本行开头,r的英文return,控制字符可以写成CR,即CarriageReturn换行\n本义是光标往下一行(不一定到下一行行首),并不移动左右。n的英文newline,控制字符可以写成LF,即LineFeed也就是说,如果想要到下一行行首,一般的写法应该是”\r\n”,0D0A,即ASCII码对应的‘\r

大家好,又见面了,我是你们的朋友全栈君。

“\r”和”\n”的区别

回车 \r 本义是光标重新回到本行开头,r的英文return,控制字符可以写成CR,即Carriage Return
换行 \n 本义是光标往下一行(不一定到下一行行首),并不移动左右。n的英文newline,控制字符可以写成LF,即Line Feed
也就是说,如果想要到下一行行首,一般的写法应该是”\r\n”,0D 0A,即 ASCII 码对应的 ‘\r’和’\n’
注意:\r,\n的顺序是不能够对换的,否则不能实现换行的效果.
这个顺序是固定的,但实际生活中不是这样,有时输入”\n”就能达到我们想要的效果,这是为什么呢?

“\r”和”\n”的由来

原先的机械打字机,打完一行后会有一个自动卷动纸带的动作,进行换行,大约0.2s,受限于机械,当时可以在这段时间内输入两个字符,而在这期间输入的字就会丢失.
后来人们对其进行了改进,加入了”字车”,每次打完一行都要重新拨动上面的”字车”,代表,要对下一行首位进行书写,此时打字机自动回到行首,并且滚动下面的卷纸滚轮换到下一行,模拟两个字符输出进行占位
后来研发计算机键盘的时候,延续了这个习惯,每次换行也要”\r\n”
但是前期电脑的存储器很珍贵,有人觉得这两个字符太浪费内存空间,就阉割掉了一个,只剩”\n”,但是还是有系统保留了”\r\n”换行的习惯,因此不同系统间对于换行的定义也不同,比如windows还保留着”\r\n”的定义,而linux是”\n”,因此两个打开对方的文件就会显示出现差异
在这里插入图片描述

回车键和输入的”\n”有不同吗?

回车键在windows代表”\r\n”,即代表了两个字符,比”\n”多”\r”;在linux则代表”\n”,
出现这种差异在于不同系统对于换行的定义不同

硬回车就是普通键盘按回车产生的,它在换行的同时也起着段落分隔的作用。

软回车是用 Shift + Enter 产生的,它换行,但是并不换段,即前后两段文字在 Word 中属于同一“段”。在应用格式时有用

软回车能使前后两行的行间距大幅度缩小,因为它不是段落标记,要和法定的段落标记——硬回车区别出来。硬回车的html代码是

,段落的内容就夹在里面,而软回车的代码很精悍:

。网页的文字如果复制到word中,则硬回车变为弯曲的箭头,软回车变为向下的箭头。

系统影响

换行符会随着系统的不同而不同
windows下的文本文件换行符:\r\n
在这里插入图片描述

Mac linux/unix下的文本文件换行符\n
因此常见的现象是,Unix/Mac系统下的文件在Windows里打开的话,所有文字会变成一行;而Windows里的文件在Unix/Mac下打开的话,在每行的结尾可能会多出一个^M符号
如图,0a在ascII码中是”\n”的意思,因此如果文件在linux中打开,可以和windows的比较看出区别
在这里插入图片描述
因此,java如果在win应用,java应该使用的换行符是”\r\n”

java使用换行符的几种方式

有以下3种方法:
1.使用java中的转义符”\r\n”:
2.BufferedWriter的newline()方法:

BufferedWriter bw=new BufferedWriter(fos);  
bw.newline();  

3.使用System.getProperty()方法: ·

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/156351.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Linux — Makefile的学习笔记以及多级目录下Makefile的编写

    Linux — Makefile的学习笔记以及多级目录下Makefile的编写一、Make简介:工程管理器,顾名思义,是指管理较多的文件,Make工程管理器也就是个“自动编译管理器”,这里的“自动”是指它能够根据文件时间戳自动发现更新过的文件而减少编译的工作量,同时,它通过读入Makefile文件文件的内容来执行大量的编译工作,Make将只编译改动的代码文件,而不用完全编译。Makefile文件一般和项目的其他源文件放在同一个目录下。在机器上可以同时存在许多不同的m…

    2022年6月6日
    175
  • 轮到你了 番外篇_碳酸危机52书库

    轮到你了 番外篇_碳酸危机52书库饰品模型篇乐高生活大爆炸对于乐高积木,其实我也是早有耳闻。但是高昂的价格摆在那里,我也只能望而却步。而送给程序员最好的礼物里面,也包含有可编程的乐高机器人,可见对于工科男来说,乐高真的是非常棒的礼物了。而我拥有的第一款乐高玩具,是我研二暑假的时候。那个时候正好也没什么事,看了好几天的乐高论坛以后,觉得科技系列的模型很棒,很符合我那藏在内心深处的,对于马达齿轮传动装置等机械品的向往。于

    2022年8月20日
    10
  • 西部数据发布MAMR技术 预计2032年实现100TB磁盘驱动器

    西部数据发布MAMR技术 预计2032年实现100TB磁盘驱动器

    2022年3月8日
    41
  • phpstrom2020激活码(破解版激活)

    phpstrom2020激活码(破解版激活),https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月16日
    56
  • expdp / impdp 用法详解[通俗易懂]

    expdp / impdp 用法详解[通俗易懂]一、注意事项:EXP和IMP是客户端工具程序,它们既可以在客户端使用,也可以在服务端使用。EXPDP和IMPDP是服务端的工具程序,他们只能在ORACLE服务端使用,不能在客户端使用。IMP只适用于EXP导出的文件,不适用于EXPDP导出文件;IMPDP只适用于EXPDP导出的文件,而不适用于EXP导出文件。二、使用expdp导出文件前的设置:1、创建逻辑目录,该命令不会在操作系统…

    2022年4月18日
    65
  • 数组类型的字符串转List<Map>

    数组类型的字符串转List<Map>需求:  格式为数组形式的字符串,数组中包含多个Map,需要将字符串转换为List&lt;Map&gt;形式。字符串示例:   [{"type":"text","content":"123"},{"type":"text","content":"456"}方法:  需要引入阿里巴巴的fastjson

    2022年5月14日
    96

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号