为什么不回来"回车"在Java SE8中缓存?

时间:2016-12-13 19:52:41

标签: java

考虑以下代码,让我们说输入字符为" Z",在UNICODE中等于90。

//*********************************
// Read a character from the keyboard.

class KbIn {

  public static void main(String[] args)

   throws java.io.IOException {

     int ch, ch2, ch3;

     System.out.println("Press a key followed by ENTER");

     ch= System.in.read(); // get a character

     ch2= System.in.read(); // get a character

     ch3= System.in.read(); // get a character

     System.out.println(ch);

     System.out.println(ch2);

     System.out.println(ch3);

  }

}
//***************************

我希望控制台输出为:

90 13 10

这对应于Z(90),回车(13)和换行(10)。相反,我会插入Z两次,输出为:

90 10 90

所以我的问题是:这是否意味着"回车没有缓冲"?

我正在MacBook(Sierra OS)上使用终端。

1 个答案:

答案 0 :(得分:1)

Mac只使用换行来结束行,而不是回车。 Windows的行为不同,并使用回车符。