2013-08-01 59 views
3

我已经写方法,它采用了大串并断裂成两行的新行:无法实现时,附加内容到StringBuffer对象USINT当“ n”

private String getNameSplited(String name){ 
char[] sAr = name.toCharArray(); 

StringBuffer strBuff = new StringBuffer(name.length()); 
    boolean start = true; 
    for (int i = 0; i < sAr.length; i++) { 
     if(i > 20) { 
      if(sAr[i] == ' ' && start){ 
       strBuff.append("\n"); 
       start = false; 
      } else { 
       strBuff.append(sAr[i]); 
      } 
     } else { 
      strBuff.append(sAr[i]); 
     } 
    } 
    return strBuff.toString(); 
} 

在这种方法“\ n“不起作用。 在我的项目中,我们没有使用直接的System.out.println();

我们正在使用out.print(strBuff);在对话框中打印此字符串。

因此,可以给一个建议如何使此代码工作。 谢谢你...

+0

你说的是什么对话?它是桌面GUI?还是html? –

+0

如何使用StringBuilder.newLine()方法? – Rekin

+0

@Rekin什么是StringBuilder.newLine()方法?我无法在javadoc中找到它。 –

回答

5

\n可能不是给定系统中的换行符。使用System.getProperty("line.separator")获取与运行时环境相对应的行分隔符。

使用strBuff.append(System.getProperty("line.separator"));或将System.getProperty("line.separator")作为常数存储,并在需要换行时使用它。

+0

我喜欢第二个选项,通常我把每次strBuff.append() System.getProperty(“line.separator”));第二个选项很好。 – Deckard27

1

你可以尝试这样的事情吗?

strBuff.append(System.getProperty("line.separator")); 
1

您可以使用“line.seperator”财产,如果输出目的地是文件 strBuff.append(System.getProperty("line.separator"))

+0

如果输出是网页,您可以使用html'
'标记 –

相关问题