Java中是否有可能获得用户按下“当它按下” 而不是当他点击返回时按下的内容?真正的交互式命令行
因此,举例来说,如果用户打ABC,然后打按Ctrl +ž我希望该程序结束还有 (到达流的末尾),而不是之后,当他按下回车键。
Java中是否有可能获得用户按下“当它按下” 而不是当他点击返回时按下的内容?真正的交互式命令行
因此,举例来说,如果用户打ABC,然后打按Ctrl +ž我希望该程序结束还有 (到达流的末尾),而不是之后,当他按下回车键。
Windows按下时并不实际结束流Ctrl + Z;您可以继续编辑该行,并且当您按返回时,应用程序将只能看到流的结尾。
这是Unix的稍有不同,其中Ctrl键 + d将发送当前缓冲的线到应用程序(不换行),并当通过发送一个空缓存器中的应用程序将只感知流的末尾按压Ctrl键 + d任后返回或陆续Ctrl键 + d。
编辑:在Windows上,您可能可以使用SetConsoleMode函数来读取单个字符。我不确定你会怎么称呼它;似乎有三种选择:
是的。谢谢,但你只回答我的问题的一部分。所以在Java被按下时不能检测到一个键? – xdevel2000
可能的重复:http://stackoverflow.com/questions/811851/how-do-i-read-input-character-by-character-in-java? –
您可以创建一个gui应用程序,其中只有行,因此您可以听用户交互。 –
可能的重复[如何从Java控制台读取单个字符(用户键入它)?](http://stackoverflow.com/questions/1066318/how-to-read-a-single-char-从控制台在Java中作为用户类型它) – Neil