1,在java中
这些都可以表示换行,并且移至下一行的行首,比如在console中打印,不会有任何问题,当然这与java的特性有关,即平台无关性。比如:
String s1 = "12443\rkdjf";
String s2 = "12443\nkdjf";
String s3 = "12443\r\nkdjf";
System.out.println(s1);
System.out.println(s2);
System.out.println(s3);
结果如下:
<img src="https://img-blog.csdn.net/20160425174622767?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />
2,如果是与本地方法有关,即java中调用了与操作系统相关的api,比如io操作,那么就有区别,与具体的操作系统有关。
windows下是 \r\n;
linux/unix下是\n;
mac下是\r
win下之所以是\r\n,是由于打印机的原因。
那么如果要向win下的文本写入换行,必须用\r\n。其余两个都不会换行
String s1 = "12443\rkdjf";
String s2 = "12443\nkdjf";
String s3 = "12443\r\nkdjf";
System.out.println(s1);
System.out.println(s2);
System.out.println(s3);
PrintStream ps = null;
try {
ps = new PrintStream(".\\"+ "testStringNextLine.txt");
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
ps.print(s1);
ps.print(s2);
ps.print(s3);
ps.close();
结果:
只有s3才换行,前面两个都未换行。