我正在尝试在java中实现一个简单的程序(带有永久循环),当用户按下“a”键时终止该程序。我可以使用system.in来完成,但是用户应该在按下'a'后按Enter键我希望程序在按下'a'之后终止。有没有办法做到这一点。我发现使用JNI是一个解决方案,但我不喜欢使用第三方库,因为这只是一个简单的代码。
答案 0 :(得分:1)
但我不喜欢使用第三方库,因为这只是一个简单的代码。
然后就无法完成。
标准Java控制台无法响应单键按下,周期等所有解决方案都需要第三方或JNI / JNA或非控制台(gui)解决方案。
答案 1 :(得分:1)
我几年前就应对这个问题,或者甚至更多。我发现了一个在Ubuntu系统中对我有用的技巧。诀窍是打电话
stty -icanon min 1
执行申请前;同样的技巧被用作已经用于windows环境的库jline的一部分。