如何用Java从控制台读取单个字符(用户键入它时)?当用户在Java中输入一个字符时,是否有一种从控制台读取单个字符的简单方法?有可能吗?我尝试过这些方法,但它们都在等待用户按下进入钥匙:char tmp = (char) System.in.read();char tmp = (char) new InputStreamReader(System.in).read ();
char tmp = (char) System.console().reader().read(); // Java 6我开始认为这个系统.不知道用户的输入进入是按下的。
4 回答
慕标琳琳
TA贡献1830条经验 获得超9个赞
您想要做的是将控制台置于“RAW”模式(行编辑绕过,不需要Enter键),而不是“熟透”模式(按Enter键进行编辑)。在UNIX系统上,“stty”命令可以更改模式。
如果您的程序必须是基于控制台的,您必须将终端从行模式切换到字符模式,并记住在程序退出之前恢复它。在整个操作系统中,没有一种可移植的方法来做到这一点。
其中一个建议是使用JNI。再说一次,这不是很便携。
慕虎7371278
TA贡献1802条经验 获得超4个赞
添加回答
举报
0/150
提交
取消