天天看點

處理回車換行時出現的問題

參考:​​http://www.ruanyifeng.com/blog/2006/04/post_213.html​​

回車換行

Unix系統裡,每行結尾隻有"<換行>",即"\n";Windows系統裡面,每行結尾是"<回車><換行>",即"\r\n";Mac系統裡,每行結尾是"<回車>"。一個直接後果是,Unix/Mac系統下的檔案在Windows裡打開的話,所有文字會變成一行;而Windows裡的檔案在Unix/Mac下打開的話,在每行的結尾可能會多出一個^M符号。

 在進行鍵盤輸入字元串的時候,不知道Windows每行的結尾是<回車><換行>的話,就會出現無法了解的問題:

Scanner sc = new Scanner(System.in);
      sc.useDelimiter("\n");
      while(sc.hasNext()) {
        String s = sc.next();
        if(("exit\r").equals(s)){ //注意這裡的\r
          System.out.println("退出");
          System.exit(1);  
        ps.println("鍵盤輸入:"+s);      

一個簡單的程式,使用Scanner讀取鍵盤輸入,使用\n做分隔符,每次讀取一行,當輸入exit時退出。