为了账号安全,请及时绑定邮箱和手机立即绑定

如何用Java从控制台读取单个字符(用户键入它时)?

如何用Java从控制台读取单个字符(用户键入它时)?

小唯快跑啊 2019-06-01 13:48:02
如何用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。再说一次,这不是很便携。

查看完整回答
反对 回复 2019-06-01
?
慕虎7371278

TA贡献1802条经验 获得超4个赞

没有从Java控制台读取原始字符的可移植方式。

以上介绍了一些平台相关的解决方案。但是要真正可移植,您必须放弃控制台模式,使用窗口模式,例如AWT或Swing。


查看完整回答
反对 回复 2019-06-01
  • 4 回答
  • 0 关注
  • 1239 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信