String s = System.lineSeparator();
System.out.println(s);
Я пытаюсь получить текст из переменной s
, но почему нет текста в переменной s
?Как получить текст из строковой переменной?
String s = System.lineSeparator();
System.out.println(s);
Я пытаюсь получить текст из переменной s
, но почему нет текста в переменной s
?Как получить текст из строковой переменной?
Попробуйте следующий код на вашей системе
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
представляет следующую строку. И вы не можете видеть их на консоли. Но они будут иметь свои последствия в струнах.
Есть ли способ печати \ r \ n или \ n? –
спасибо за помощь –
System.lineSeparator();
возвращает строку, которую система использует, чтобы в целом отделить линии, например, от ввода стандартного ввода.
Это, как правило, новый символ линии, поэтому, когда вы печатаете его в своей программе, вы не будете «видеть» его как есть.
Попробуйте использовать это:
String s = System.lineSeparator();
System.out.println("~~" + s + "~~");
Это поможет отличить выход. Вы должны увидеть что-то вроде этого:
~~
~~
Этот вывод будет указать символ новой строки является разделяющей ~~
символов в своем заявлении для печати.
Надеюсь, это поможет!
System.lineSeperator() будет в основном возвращать «\ r \ n», поэтому, когда вы sysout, он на самом деле печатает новую строку.
Как ни странно, 'System.lineSeparator()' возвращает разделитель строк. Удивили меня тоже. –