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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 物联网架构方案思考「建议收藏」

    物联网架构方案思考「建议收藏」1.前言1.1.系统设计有无通用方案?一般的IT系统,稍微复杂一些,都会存在一个架构。架构在初期可能不觉得有多么重要,但随着业务发展,架构可能成为系统开发的瓶颈,导致无法再迭代下去。不同的系统,会有不同的架构,即使同一个系统,由不同的架构师设计也会有不同的架构。架构不存在正确与否的,只能说在不同的场景,存在优劣之分。如何设计一个系统,此问…

    2022年9月18日
    3
  • Jdbc executeUpdate 返回值

    Jdbc executeUpdate 返回值原文地址:http://nkadun.iteye.com/blog/1435333javaapi里是这样说的executeUpdateintexecuteUpdate()throwsSQLExceptionExecutestheSQLstatementinthisPreparedStatementobject,whichmustbeanSQL

    2022年10月20日
    1
  • for 批处理_批处理主要解决

    for 批处理_批处理主要解决批处理for中如何实现break当然批处理程序中没有break关键字,那又如何实现呢?先看看例子:@echooffsetAreaPortFile=Ports_AsetAnchorOnLandPortFile=OL%AreaPortFile%_AnchorsetMergeOnLandPortFile=MG%AreaPortFile%if…

    2022年10月11日
    2
  • 遗传算法(Genetic Algorithm)详解与实现「建议收藏」

    遗传算法(Genetic Algorithm)详解与实现「建议收藏」遗传算法(GeneticAlgorithm,GA)是受自然进化原理启发的一系列搜索算法。通过模仿自然选择和繁殖的过程,遗传算法可以为涉及搜索、优化和学习的各种问题提供高质量的解决方案。同时,它们类似于自然进化,因此遗传算法可以克服传统搜索和优化算法遇到的一些障碍,尤其是对于具有大量参数和复杂数学表示形式的问题。

    2025年5月25日
    2
  • 项目打成Jar包和War包的介绍与区别

    项目打成Jar包和War包的介绍与区别1.jar包的介绍JAR(JavaArchive,Java归档文件)是与平台无关的文件格式,它允许将许多文件组合成一个压缩文件。JavaSE程序可以打包成Jar包(J其实可以理解为Java了)。JAR文件格式以流行的ZIP文件格式为基础。与ZIP文件不同的是,JAR文件不仅用于压缩和发布,而且还用于部署和封装库、组件和插件程序,并可被像编译器和JVM这样的工具直接使用…

    2022年5月23日
    39
  • 隐形数字水印_Android 实现图片水印与隐形数字水印

    隐形数字水印_Android 实现图片水印与隐形数字水印在使用知乎,微博的时候,我们经常可以看到自己上传的图片被加上了文字水印,在实际的应用开发过程中,很多客户端都需要开发者自己编写Canvs绘制图形水印的方法,今天我想在这里介绍一个轻量级的开源Android图片水印框架来避免开发过程中编写复杂的绘图代码:AndroidWM,并且剖析它的实现过程和特色用法。水印这个框架最大程度上简化了图片水印绘制的问题,暴露了灵活的接口给用户使用。在绘制水印的…

    2025年5月29日
    1

发表回复

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

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