java在不同系统中处理换行符

Linux,Unix和mac系统的换行是"\n",而Windows的换行并不是直接的"\n",是"\r\n"。所以out.write("\n")只能得到一个黑框,因为Windows不认为这是个“换行”。 直接从记事本输入的话,Windows自动输入了"\r\n",所以从从文本文件中读出来的也是"\r\n",可以正常显示。

那么这是为什么呢?稍微学过正则表达式的朋友都知道:\r是回车符,而\n是换行符。Windows默认\n在文档中显示的是一个空格或者小黑框。所以,要先回车,再换行。


在文章分割中,除了可用BufferedReader的readLine()方法读取每行,还可以用换行符来分割。

在Windows中要使用"\r\n"

String[] arr = fileContet.splite("\r\n");

而在Linux系统需用"\n"

String[] arr = fileContet.splite("\n"); 


如果不清楚是哪个系统,可以使用下面的代码:

String lineSeparator = System.getProperty("line.separator", "\n"); 

String[] arr = fileContet.splite(lineSeparator );

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值