System.in
是Java中的InputStream
。
read()
method的api说
此方法将阻塞,直到输入数据可用为止。 检测到流,或引发异常。
try {
int inByte = System.in.read();
System.out.println("Typed char: " + (char) inByte);
} catch (Exception e) {
e.printStackTrace();
}
因此,现在,我尝试在上面运行该程序,它使我可以输入许多字符,并且只有在我按键盘上的 Enter 时才停止阻塞。
当我仅按下一个键(即一个字节,例如A
中的UTF-8
时,是否没有足够的可用数据(api的写法),然后程序可以继续运行?
read(byte[])
的行为相同。它一直阻塞,直到用户按下 Enter 。