参考:回车和换行
曾经被 “\r”、"\n" 和 “\r\n” 困惑了很久,回车和换行到底啥区别,建议大家先看上面这篇文章,然后我们来做一个小实验(环境:windows、ubuntu结果都一样;语言:Java):
例1:
System.out.print("回车" + "\r");
/*Output:
回车
*/
例2:
System.out.print("回车" + "\r" + "test");
/*Output:
test
*/
为什么"回车"没了?
例3:
System.out.print("换行" + "\n" + "test");
/*Output:
换行
test
*/
例4:
System.out.print("回车换行" + "\r\n" + "test");
/*Output:
回车换行
test
*/
上面例2之所以丢失了"回车"是因为"\r"只是将光标重新定位到本行开头,所以重写将会把之前的内容擦除;而"\n"是将光标重启一行,默认指向下一行开头,所以在这里"\n"和"\r\n"输出效果是一样的。