Java:StringBuilder append 换行问题

Posted magnussen1996

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java:StringBuilder append 换行问题相关的知识,希望对你有一定的参考价值。

    在进行IO操作时,有如下几行代码:

while ((line = bufferedReader.readLine())!=null){
if (line.length() != 0){
stringBuilder.append(line+" ");
}
}

此处的换行符" "失效,将其替换为" "也不行,最后替换成JDK自带的跨平台的行分隔符,程序改写如下:
stringBuilder.append(line+System.getProperty(line.separator));

问题解决。
另外补充一下," "中, 是回车(return?),回到行首, 是换行(next?),将光标移动到下一行的同个横坐标的位置。
印象中键盘上enter就叫回车,可以换行,Java的程序语言中却不是这样。
在linux中 包含回车,windows中则不,缺少控制符或者顺序不对都将失效,当然失效的原因也不止这两个。
同时也存在行分隔符失效的情况,这时可以替换回那两种换行符试试。原因可能是代码所在项目部署的服务器和用户使用的系统存在差异,
比如说项目常常部署在linux上,而大多数用户都是用的windows。"System.getProperty(line.separator)"作为跨平台分隔符,
自动取得的是linux下的换行符 ,在windows下就会失效。这时需要将跨平台分隔符改为 ,也就是说,要和用户使用的系统一致。
























以上是关于Java:StringBuilder append 换行问题的主要内容,如果未能解决你的问题,请参考以下文章

java StringBuilder的

Java StringBuilder类

java stringBuilder的用法

零基础学Java—StringBuilder类(三十六)

Java2String/StringBuilder/ArrayList/Object/Date/Calendar/System/Math类/包装类,集合,泛型,内部类,练习题

javascript-复制