1. 概要

文字列のフォーマットとテキスト出力の生成は、プログラミング中に頻繁に発生します。 多くの場合、出力をフォーマットするために文字列に改行を追加する必要があります。

改行文字の使用方法について説明しましょう。

2. 文字列に改行文字を追加する

オペレーティングシステムには、改行の開始を示す特殊文字があります。 たとえば、Linuxではは「\n」で示され、ラインフィードとも呼ばれます。 Windowsでは、新しい行は「\ r \ n」を使用して示され、キャリッジリターンおよびラインフィード、またはCRLFと呼ばれることもあります。 ]。

Javaでの改行の追加は、「 \ n」、「 \ r」、、または「 \ r \n」[ X106X]文字列の最後。

2.1. CRLFラインブレイクの使用

この例では、2行のテキストを使用して段落を作成します。 具体的には、line2line1の後の新しい行に表示する必要があります。

Unix / Linux / New MacベースのOSの場合、「 \ n」を使用できます:

String line1 = "Humpty Dumpty sat on a wall.";
String line2 = "Humpty Dumpty had a great fall.";
String rhyme = line1 + "\n" + line2;

WindowsベースのOSを使用している場合は、「 \ r \ n」:を使用できます。

rhyme = line1 + "\r\n" + line2;

古いMacベースのOSの場合、「 \ r」を使用できます:

rhyme = line1 + "\r" + line2;

新しい行を追加する3つの方法を示しましたが、残念ながら、それらはプラットフォームに依存します。

2.2. プラットフォームに依存しないラインセパレーターの使用

コードをプラットフォームに依存させたくない場合は、システム定義の定数を使用できます。

たとえば、 System.lineSeparator()を使用して行区切り記号を指定すると、次のようになります。

rhyme = line1 + System.lineSeparator() + line2;

または、 System.getProperty(“ line.separator”)を使用することもできます。

rhyme = line1 + System.getProperty("line.separator") + line2;

2.3. プラットフォームに依存しない改行文字の使用

行区切り文字はプラットフォームに依存しませんが、文字列を連結する必要があります。

System.out.printfString.formatのようなものを使用している場合、プラットフォームに依存しない改行文字%nを文字列内で直接使用できます[X178X ]:

rhyme = "Humpty Dumpty sat on a wall.%nHumpty Dumpty had a great fall.";

これは、文字列内に System.lineSeparator()を含めるのと同じですが、文字列を複数の部分に分割する必要はありません。

3. HTMLページに改行文字を追加する

HTMLページの一部である文字列を作成していると仮定します。 その場合、HTMLブレークタグを追加できます

Unicode文字「
」を使用することもできます (キャリッジリターン)と「
」 (ラインフィード)。 これらの文字は機能しますが、すべてのプラットフォームで期待されるとおりに機能するわけではありません。 代わりに、を使用することをお勧めします
改行用。

さらに、一部のHTML要素で“ \ n” を使用して、行を分割することができます。

全体として、これらはHTMLで線を切る3つの方法です。 使用しているHTMLタグに応じて、どちらを使用するかを決定できます。

3.1. HTMLブレークタグ

HTMLブレークタグを使用できます
行を壊す:

rhyme = line1 + "<br>" + line2;

The
行を区切るためのタグは、次のようなほとんどすべてのHTML要素で機能します

等 ただし、では機能しないことに注意してくださいタグ。

3.2. 改行文字

使用できます ‘\ n’ テキストがで囲まれている場合に行を分割するには


またタグ:

rhyme = line1 + "\n" + line2;

3.3. Unicode文字

最後に、Unicode文字を使用できます 「&#13;」 (キャリッジリターン)と 「&#10;」 (ラインフィード)ラインを壊します。 たとえば、タグは、次のいずれかを使用できます。

rhyme = line1 + "
" + line2;
rhyme = line1 + "
" + line2;

のために


タグ、以下の両方の行が機能します:

rhyme = line1 + "
" + line2;
rhyme = line1 + "

" + line2;

4. \n\rの違い

\ r および\n は、それぞれ13(CR)および10(LF)のASCII値で示される文字です。 それらは両方とも2つの線の間の切れ目を表しますしかし、オペレーティングシステムはそれらを異なって使用します。 

Windowsでは、2文字のシーケンスを使用して改行を開始し、CRの直後にLFを続けます。 逆に、Unixライクなシステムでは、LFのみが使用されます。

Javaアプリケーションを作成するときは、使用する改行文字に注意する必要があります。これは、アプリケーションが実行されるオペレーティングシステムによってアプリケーションの動作が異なるためです。

最も安全で相互互換性のあるオプションは、 System.lineSeparator()。 このように、オペレーティングシステムを考慮する必要はありません。

5. 結論

この記事では、Javaで文字列に改行文字を追加する方法について説明しました。

また、 System.lineSeparator()および System.getProperty( “line.separator”)を使用して、新しい行のプラットフォームに依存しないコードを作成する方法も確認しました。

最後に、HTMLページを生成する場合に備えて、新しい行を追加する方法について説明しました。

この記事の完全な実装は、GitHubにあります。