Javaでプラットフォームに適した改行コードを入れるためにはどのようにすればよいのでしょうか?
試しにソース中に"\n"と書いてみたのですが、うまく改行してくれません。
アドバイスをどうかよろしくお願いします。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答4件
0
ベストアンサー
Java5以降ならString.format
で%n
が使えます。
lang
1String str = String.format("行1%n行2");
投稿2014/09/21 05:13
総合スコア198
0
System.lineSeparator() でシステム依存の改行コードを取得できます。
...
以前は System.getProperty("line.separator") で取得していたがJava 7では System.lineSeparator() が使える、ということが検索してもあまり出てこないのでメモ。
...
System.getProperty では改行コード以外に ファイルのパスの区切り文字なども得ることができます。(windows では , linux では /)
public static Properties getProperties() http://docs.oracle.com/javase/jp/8/api/java/lang/System.html#getProperties--
投稿2014/09/20 04:58
総合スコア22324
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
**System.getProperty("line.separator"); **でプラットフォームに適した改行コードを取得できます。
以下のように記述すると改行されるはずです。
lang
1String sep = System.getProperty("line.separator"); 2System.out.println("aaa" + sep + "bbb");//aaaとbbbの間に改行
投稿2014/09/20 02:30
総合スコア156
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
追記:JohnSmithさんの回答がおすすめです。
私の回答は、Java1.1~Java1.4の場合の例に修正します。
私の回答も、System.lineSeparator()
を使う点では同じです。
ただし、直接System.lineSeparator()
を使うのではなく、間接的に使う例をご紹介します。
lang
1// Java1.1~Java1.4 (Java5以降でも使えるけど推奨ではない) 2 3// import java.io.*; 4StringWriter sw = new StringWriter(); 5PrintWriter out = new PrintWriter(sw); 6try { 7 out.println("first"); 8 out.print("second"); 9} finally { 10 out.close(); 11} 12String s = sw.toString(); 13// s = "first" + 改行文字 + "second"
PrintWriter#println
の中で、System.lineSeparator()
を書き出す処理が行われていますので、直接System.lineSeparator()
を使わずにプラットフォームの改行文字を文字列に含めることができます。
投稿2014/09/20 16:17
総合スコア9390
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。