2017-02-13 14 views
0
String s = System.lineSeparator(); 
System.out.println(s); 

変数sからテキストを取得しようとしましたが、変数sにテキストがないのはなぜですか?文字列変数からテキストを取得する方法は?

+6

奇妙なことに、 'System.lineSeparator()'は行区切り文字を返します。私も驚いた。 –

答えて

1

てみ

for(byte b : System.lineSeparator().getBytes()){ 
    System.out.println(b); 
} 

それはどちらかここで

10 

OR

13 
10 

私はSystem.lineSeparator()から得たものは何でものASCIIコードを印刷出力します。 \nため
ASCIIコードは10であり、\rためのまたUNIXシステムでSystem.lineSeparator()

の文書に記載されている13

あり、それは "\ n" を返します。 Microsoft Windowsシステムでは、 "\ r \ n"を返します。

だから、ポイントはあなたが\r\nを印刷しようとした場合\rは改行と\n次の行を表しを表しているためので、あなたが任意の出力を見ていないです。あなたはコンソールでそれらを見ることはできません。しかし、彼らは文字列でその効果を持つでしょう。

+0

\ r \ nまたは\ nを印刷する方法はありますか? –

+0

ご協力いただきありがとうございます –

0

System.lineSeparator();は、システムが一般に、たとえば標準入力からの入力で行を区切るために使用する文字列を返します。

これは一般に改行文字なので、プログラムで印刷すると、そのまま表示されません。

は、これを使用してみてください:

String s = System.lineSeparator(); 
System.out.println("~~" + s + "~~"); 

これは、出力を区別するのに役立ちます。この出力は改行文字があなたのprint文で~~文字を分離していることを示すでしょう

~~ 
~~ 

:あなたはこのようなものが表示されるはずです。


0

System.lineSeperator()は主に「\ r \ n」を返しますので、sysoutすると新しい行が表示されます。お使いのシステム上でコードを次

関連する問題