区别

 

package des;

public class ttt {

 /**
  * @param args
  *
  * linux和unix系统的换行是"/n",而windows的换行并不是直接的"/n",是"/r/n"。
  * 所以out.write("/n")只能得到一个黑框,因为windos不认为这是个“换行”。
  *  直接从记事本输入的话,windows自动输入了"/r/n",
  *  所以从从文本文件中读出来的也是"/r/n",可以正常显示。
      那么这是为什么呢?稍微学过正则表达式的朋友都知道:/r是回车符,而/n是换行符。
      Windows默认/n在文档中显示的是一个空格或者小黑框。所以,要先回车,再换行。
  */
 public static void main(String[] args) {
  // TODO Auto-generated method stub
  String ss="a\nbc";
  String ss2="a\rbc";
  String ss3="a\n\rbc";
  String ss4="a\r\nbc";
  System.out.println(ss);
  System.out.println("-----");
  System.out.println(ss2);
  System.out.println("-----");
  System.out.println(ss3);
  System.out.println("-----");
  System.out.println(ss4);
  System.out.println("-----");

 }

}
////输出///

a
bc
-----
a
bc
-----
a

这有空行

bc
-----
a
bc
-----

 

你可能感兴趣的:(区别)