大家好,又见面了,我是你们的朋友全栈君。
文章目录
- “r”和”n”的区别
- “r”和”n”的由来
- 回车键和输入的”n”有不同吗?
- 系统影响
- java使用换行符的几种方式
“r”和”n”的区别
回车 r 本义是光标重新回到本行开头,r的英文return,控制字符可以写成CR,即Carriage Return 换行 n 本义是光标往下一行(不一定到下一行行首),并不移动左右。n的英文newline,控制字符可以写成LF,即Line Feed 也就是说,如果想要到下一行行首,一般的写法应该是”rn”,0D 0A,即 ASCII 码对应的 ‘r’和’n’ 注意:r,n的顺序是不能够对换的,否则不能实现换行的效果. 这个顺序是固定的,但实际生活中不是这样,有时输入”n”就能达到我们想要的效果,这是为什么呢?
“r”和”n”的由来
原先的机械打字机,打完一行后会有一个自动卷动纸带的动作,进行换行,大约0.2s,受限于机械,当时可以在这段时间内输入两个字符,而在这期间输入的字就会丢失. 后来人们对其进行了改进,加入了”字车”,每次打完一行都要重新拨动上面的”字车”,代表,要对下一行首位进行书写,此时打字机自动回到行首,并且滚动下面的卷纸滚轮换到下一行,模拟两个字符输出进行占位 后来研发计算机键盘的时候,延续了这个习惯,每次换行也要”rn” 但是前期电脑的存储器很珍贵,有人觉得这两个字符太浪费内存空间,就阉割掉了一个,只剩”n”,但是还是有系统保留了”rn”换行的习惯,因此不同系统间对于换行的定义也不同,比如windows还保留着”rn”的定义,而linux是”n”,因此两个打开对方的文件就会显示出现差异
回车键和输入的”n”有不同吗?
回车键在windows代表”rn”,即代表了两个字符,比”n”多”r”;在linux则代表”n”, 出现这种差异在于不同系统对于换行的定义不同
硬回车就是普通键盘按回车产生的,它在换行的同时也起着段落分隔的作用。
软回车是用 Shift Enter 产生的,它换行,但是并不换段,即前后两段文字在 Word 中属于同一“段”。在应用格式时有用
软回车能使前后两行的行间距大幅度缩小,因为它不是段落标记,要和法定的段落标记——硬回车区别出来。硬回车的html代码是
…
,段落的内容就夹在里面,而软回车的代码很精悍: 。网页的文字如果复制到word中,则硬回车变为弯曲的箭头,软回车变为向下的箭头。
系统影响
换行符会随着系统的不同而不同 windows下的文本文件换行符:rn
Mac linux/unix下的文本文件换行符n 因此常见的现象是,Unix/Mac系统下的文件在Windows里打开的话,所有文字会变成一行;而Windows里的文件在Unix/Mac下打开的话,在每行的结尾可能会多出一个^M符号 如图,0a在ascII码中是”n”的意思,因此如果文件在linux中打开,可以和windows的比较看出区别
因此,java如果在win应用,java应该使用的换行符是”rn”
java使用换行符的几种方式
有以下3种方法: 1.使用java中的转义符”rn”: 2.BufferedWriter的newline()方法:
代码语言:javascript复制BufferedWriter bw=new BufferedWriter(fos);
bw.newline();
3.使用System.getProperty()方法: ·
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/156351.html原文链接:https://javaforall.cn