System.lineSeparator() returns 没有
System.lineSeparator() returns nothing
使用下面的应该注意什么?
System.out.println("LineSeperator1: "+System.getProperty("line.separator"));
System.out.println("LineSeperator2: "+System.lineSeparator());
我得到以下回复:
LineSeperator1:
LineSeperator2:
是空的吗?无形的?应该有类似 \r or \n
的东西吗?
我使用 windows 7、eclipse 和 jdk 1.8。
之后再打印一下效果:
System.out.println("a" + System.lineSeparator() + "b");
给予
a
b
如您所料,行分隔符包含特殊字符,例如 '\r'
或 '\n'
表示行的结尾。然而,尽管它们是用 Java 源代码编写的,带有那些反斜杠转义序列,但它们在打印时不会那样显示。行分隔符的目的是分隔行,因此,例如
的输出
System.out.println("Hello"+System.lineSeparator()+"World");
是
Hello
World
而不是说
Hello\nWorld
您甚至可以在代码的输出中看到这一点:
的输出
System.out.println("LineSeperator1: "+System.getProperty("line.separator"));
在下一个语句的输出之前有一个额外的空行,因为有一个来自 System.getProperty("line.separator")
的行分隔符和另一个来自 println
.
的使用
如果你真的想看看转义版本的行分隔符是什么样的,你可以使用escapeJava
from Apache Commons。例如:
import org.apache.commons.lang3.StringEscapeUtils;
public class LineSeparators {
public static void main(String[] args) {
String ls1 = StringEscapeUtils.escapeJava(System.getProperty("line.separator"));
System.out.println("LineSeperator1: "+ls1);
String ls2 = StringEscapeUtils.escapeJava(System.lineSeparator());
System.out.println("LineSeperator2: "+ls2);
}
}
在我的系统上,输出
LineSeparator1: \n
LineSeparator2: \n
请注意,我必须 运行 它与来自 the Apache download 的 .jar 文件位于同一文件夹中,编译和 运行 这些命令
javac -cp commons-lang3-3.4.jar LineSeparators.java
java -cp commons-lang3-3.4.jar:. LineSeparators
使用下面的应该注意什么?
System.out.println("LineSeperator1: "+System.getProperty("line.separator"));
System.out.println("LineSeperator2: "+System.lineSeparator());
我得到以下回复:
LineSeperator1:
LineSeperator2:
是空的吗?无形的?应该有类似 \r or \n
的东西吗?
我使用 windows 7、eclipse 和 jdk 1.8。
之后再打印一下效果:
System.out.println("a" + System.lineSeparator() + "b");
给予
a
b
如您所料,行分隔符包含特殊字符,例如 '\r'
或 '\n'
表示行的结尾。然而,尽管它们是用 Java 源代码编写的,带有那些反斜杠转义序列,但它们在打印时不会那样显示。行分隔符的目的是分隔行,因此,例如
System.out.println("Hello"+System.lineSeparator()+"World");
是
Hello
World
而不是说
Hello\nWorld
您甚至可以在代码的输出中看到这一点:
的输出System.out.println("LineSeperator1: "+System.getProperty("line.separator"));
在下一个语句的输出之前有一个额外的空行,因为有一个来自 System.getProperty("line.separator")
的行分隔符和另一个来自 println
.
如果你真的想看看转义版本的行分隔符是什么样的,你可以使用escapeJava
from Apache Commons。例如:
import org.apache.commons.lang3.StringEscapeUtils;
public class LineSeparators {
public static void main(String[] args) {
String ls1 = StringEscapeUtils.escapeJava(System.getProperty("line.separator"));
System.out.println("LineSeperator1: "+ls1);
String ls2 = StringEscapeUtils.escapeJava(System.lineSeparator());
System.out.println("LineSeperator2: "+ls2);
}
}
在我的系统上,输出
LineSeparator1: \n
LineSeparator2: \n
请注意,我必须 运行 它与来自 the Apache download 的 .jar 文件位于同一文件夹中,编译和 运行 这些命令
javac -cp commons-lang3-3.4.jar LineSeparators.java
java -cp commons-lang3-3.4.jar:. LineSeparators