2013-08-01 96 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'
'標記 –

相關問題