一文搞懂:一般用到的短信,邮件换行符号

简介: 一文搞懂:一般用到的短信,邮件换行符号

短信


XML拼接换行:


回车符()


换行符(



JSON拼接换行:


换行符(\n )


回车符(\r)


常用:


第一种:使用System.out.println()//这是换一行。


第二种:使用System.out.print("\n");//这也是换一行.


第一种和第二种差不多。只是,如果你要换两行,三行,多行的话。


就用:System.out.println("\n\n");换两行


换三行:System.out.println("\n\n"\n);


关于换行的Java代码:


1.问题


windows平台的换行符为/r/n;


linux平台的换行符为/n;


java程序中如何将不同平台用户输入的换行符转换成特定系统的换行符.


2.解答


java 代码


1. String userInputString = userInput;


2. userInputString = userInputString.replaceAll ( "\r", "" );


3. userInputString = userInputString.replaceAll ( "\n", "\\"+System.getPropert("line.separator"));


首先直接上结论:


//换行时采用System.getProperty("line.separator")


public void test1() {


LogTable logTable = logService.getLogSecById(489);


System.out.println(logTable.getStrContent().replace(System.getProperty("line.separator"), "


"));


}


因为操作系统的不同,换行符操也不同:


/r Mac


/n Unix/Linux


/r/n Windows


/** 获取当前系统的换行符/


public static voidlineSeparator() {//注意在将流写入文件时,换行应根据操作系统的不同来决定。//在程序我们应尽量使用System.getProperty("line.separator")来获取当前系统的换//行符,而不是写/r/n或/n。//这样写程序不够灵活//当我们在java控制台输出的时候,/r和/n都能达到换行的效果。


if (System.getProperty("line.separator").equals("/r/n")) {


System.out.println("//r//n is for windows");


}else if (System.getProperty("line.separator").equals("/r")) {


System.out.println("//r is for Mac");


}else if (System.getProperty("line.separator").equals("/n")) {


System.out.println("//n is for Unix/Linux");


}


System.out.println("aa/nbb");


System.out.println("aa/rbb");


System.out.println("aa/tbb");


'\r'是回车,'\n'是换行,前者使光标到行首,后者使光标下移一格。通常用的Enter是两个加起来


‘/t’相当于键盘的Tab键,‘/n’换行New Line,‘/r’回车Carriage Return,基本的概念应该是回车表示回到最前面,换行表示换一行。


“回车”(carriage return)和“换行”(line feed)这两个概念的来历和区别了。


在计算机还没有出现之前,有一种叫做电传打字机(Teletype Model 33)的玩意,每秒钟可以打10个字符。但是它有一个问题,


就是打完一行换行的时候,要用去0.2秒,正好可以打两个字符。要是在这0.2秒里面,又有新的字符传过来,那么这个字符将丢失。


于是,研制人员想了个办法解决这个问题,就是在每行后面加两个表示结束的字符。一个叫做“回车”,告诉打字机把打印头定位在左边界;


另一个叫做“换行”,告诉打字机把纸向下移一行。


这就是“换行”和“回车”的来历,从它们的英语名字上也可以看出一二。


后来,计算机发明了,这两个概念也就被般到了计算机上。那时,存储器很贵,一些科学家认为在每行结尾加两个字符太浪费了,加一个就可以。


于是,就出现了分歧。


Unix系统里,每行结尾只有“”,即“\n”;Windows系统里面,每行结尾是“”,即“\r\n”;Mac系统里,每行结尾是“”。


一个直接后果是,Unix/Mac系统下的文件在//代码效果参考:http://www.lyjsj.net.cn/wz/art_24215.html

Windows里打 开的话,所有文字会变成一行;而Windows里的文件在Unix/Mac下打开的话,在每行的结尾可能会多出一个^M符号。

邮件


用java编写的发送邮件要使用


来实现换行,而不能使用\n,或者\r\n


// 5. Content: 邮件正文(可以使用html标签)(内容有广告嫌疑,避免被邮件服务器误认为是滥发广告以至返回失败,请修改发送内容)


message.setContent("会员注册通知!


尊敬用户你好,您于"+dateStringParse+"申请注册为我网会员,注册码为:895146,如非本人操作请勿理睬!", "text/html;charset=UTF-8");

相关文章
|
算法 开发者 Python
惊!Python算法界的三大神器:分治法、贪心算法、动态规划,让你秒变算法大师!
【7月更文挑战第8天】在Python编程中,分治、贪心和动态规划是核心算法。分治如归并排序,将大问题拆解并递归求解;贪心算法针对找零问题,每次都选最大面额硬币,追求局部最优;动态规划则通过记忆化避免重复计算,如斐波那契数列。这些算法巧妙地提升效率,解决复杂问题。
355 0
|
Java 索引
【Java集合类面试九】、介绍一下HashMap的扩容机制
HashMap的扩容机制包括初始容量16,以2的次方进行扩充,使用负载因子0.75判断是否扩容,以及链表长度达到阈值时转换为红黑树,以优化性能。
【Java集合类面试九】、介绍一下HashMap的扩容机制
|
SQL JSON Java
一些异常及解决方法记录(持续更新)
一些异常及解决方法记录(持续更新)
1149 0
|
移动开发 资源调度 JavaScript
Vue 3.0 && Nginx 项目打包部署知识都在这了~
Vue 3.0 && Nginx 项目打包部署知识都在这了~
8283 1
Vue 3.0 && Nginx 项目打包部署知识都在这了~
|
1月前
|
Linux 开发工具 iOS开发
【2026实测】Homebrew安装+配置国内源+使用一篇搞定(多种安装方式)
Homebrew 是 macOS 最流行的开源包管理器,被誉为“macOS 缺失的包管理器”。一行命令即可安装、更新、卸载命令行工具(如 Git、Python)和图形应用(如 Chrome、VS Code),自动处理依赖与环境配置,大幅提升开发效率。(239 字)
|
网络协议
Mac 下如何添加网段
Mac 下如何添加网段
659 1
|
Shell Linux
8-2|如何查看history带日期
8-2|如何查看history带日期
|
缓存 编解码 算法
Netty源码—6.ByteBuf原理一
本文深入探讨了Netty中ByteBuf的使用与内存管理机制。主要内容包括ByteBuf的问题整理、结构及重要API、ByteBuf的分类及其补充说明。此外,还详细分析了内存分配器ByteBufAllocator的功能,包括其两大子类UnpooledByteBufAllocator和PooledByteBufAllocator的实现原理,尤其是PooledByteBufAllocator通过PoolArena进行内存分配的具体流程。最后,总结了ByteBuf的主要内容分为内存抽象、分配策略和回收过程三大方面,为高效使用ByteBuf提供了理论基础。
|
存储 缓存 关系型数据库
Mysql/etc/my.cnf参数详解
以上只是 `/etc/my.cnf`中的部分参数,实际上,`/etc/my.cnf`中的参数非常多,可以根据具体的应用需求进行调整。
504 0

热门文章

最新文章