2017-02-13 2 views

ответ

1

Попробуйте следующий код на вашей системе

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

Он будет печатать либо

10 

ИЛИ

13 
10 

Здесь я печатаю код ASCII для все, что я получил от System.lineSeparator().
ASCII код \n составляет 10 и \r является 13.

Он также приводится в документации System.lineSeparator()

В системах UNIX, она возвращает "\ п"; в системах Microsoft Windows он возвращает «\ r \ n».

Так дело в том, что вы не видели никакого вывода, поскольку при попытке печати \r или \n, поскольку \r представляет новую строку и \n представляет следующую строку. И вы не можете видеть их на консоли. Но они будут иметь свои последствия в струнах.

+0

Есть ли способ печати \ r \ n или \ n? –

+0

спасибо за помощь –

0

System.lineSeparator(); возвращает строку, которую система использует, чтобы в целом отделить линии, например, от ввода стандартного ввода.

Это, как правило, новый символ линии, поэтому, когда вы печатаете его в своей программе, вы не будете «видеть» его как есть.

Попробуйте использовать это:

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

Это поможет отличить выход. Вы должны увидеть что-то вроде этого:

~~ 
~~ 

Этот вывод будет указать символ новой строки является разделяющей ~~ символов в своем заявлении для печати.


Надеюсь, это поможет!

0

System.lineSeperator() будет в основном возвращать «\ r \ n», поэтому, когда вы sysout, он на самом деле печатает новую строку.

Смежные вопросы