2011-10-25 13 views
0


私はプロジェクトに取り組んでおり、その中には本当に混乱している部分があります。例えば" n"で改行を開始できませんか?

String[]text = {"string","array"}; 

: は、私は文字列の配列を持っていると言います。
そして、すべての単語の間に改行「\ n」を持つ単一のStringにしたいと考えています。 は、だからここに私のコード

public String setText(String [] text) throws UnsupportedEncodingException{ 
    StringBuffer result = new StringBuffer(); 
    String newline = System.getProperty("line.separator"); 
    if (text.length > 0) { 
     result.append(text[0]); 
     for (int i=1; i<text.length; i++) { 
      result.append(newline); 
      result.append(text[i]); 
     } 
    } 
    return result.toString(); 
} 

私のコードのdoesntの仕事です。戻り値は単一の文字列ですが、使用すると1行に残ります。

誰でも私にこれを手伝うことができますか?

は、私はGoogleの Guava libraryから Joinerを使用することをお勧めしますあなた

アラン

+2

あなたのコードを使用してみてください - 異なるOSで は、それは別のシンボル\nになります。それがどう使われているかは別の問題です。結果をどうしようとしていますか? –

+6

あなたの質問に欠けている重要なことは次のとおりです。**どのように結果の文字列を使用していますか?例えば、HTMLストリームに出力している場合、改行はHTMLの改行を引き起こさない(これは段落や '
'タグのためである)。 –

+1

システムのセパレータを使用していますが、これは良い方法です。しかし、結果をチェックしているOSとJVMを実行しているOSが異なる場合、動作しない可能性があります。他のコメント者が言ったように、私たちはあなたがその文字列をどう使っているのか知る必要があります。 stdoutに出力しますか?ファイルに出力しますか?ストリームやライターを使用していますか? –

答えて

1

System.getProperty("line.separator");は何を返しますか? LinuxとWindowsでの\r\nは* *それは、システムのデフォルトの行区切りが含まれていることで動作します System.getProperty("line.separator", "\r\n");またはSystem.getProperty("line.separator", "\n");

-1

ありがとうございます。

Joiner.on(System.getProperty("line.separator")).join(text)

+1

面白いですが、質問には関係ありません。このコードは改行の追加に成功しています。 –

0

あなたが結果をどのように使用するかに依存します。あなたはそれをSystem.out /ファイルまたはそれに類するものに書き込もうとしましたか?

関連する問題