Java-读取控制台未提交的字符

Java-读取控制台未提交的字符,java,cmd,io,console,user-input,Java,Cmd,Io,Console,User Input,通过点击Enter键,可以很容易地从控制台读取提交的输入。例如System.console(),System.in,扫描仪等 String out = System.console().readLine(); 我想知道是否有办法从控制台读取未提交的字符(特别是从CMD) 更新 到目前为止,我找到的最好的解决方案是使用一些低级库,比如。不是没有本机扩展,但是像jcurses这样的库应该能够。我们是在谈论注册击键吗?因为如果我们是,您可能想签出->但是如果您的Java应用程序没有作为pc屏幕上的主

通过点击
Enter
键,可以很容易地从控制台读取提交的输入。例如
System.console()
System.in
扫描仪等

String out = System.console().readLine();
我想知道是否有办法从控制台读取未提交的字符(特别是从CMD)

更新


到目前为止,我找到的最好的解决方案是使用一些低级库,比如。

不是没有本机扩展,但是像jcurses这样的库应该能够。我们是在谈论注册击键吗?因为如果我们是,您可能想签出->但是如果您的Java应用程序没有作为pc屏幕上的主窗口处于焦点位置,则不要认为由于进程限制,您可以获得任何输入注册…@bko这不是关于gui,而是关于从控制台读取。当控制台聚焦时。@bko是的,类似于击键。。但在控制台中,不是窗口应用程序。谢谢,我会把它整理一下。JNATIVEHOOK是关于全球系统范围内的事件的,它与一个控制台没有特别的联系,而这个控制台目前可能处于活动状态,也可能不处于活动状态。虽然你可能会让事情看起来像是正常的,但它肯定会带来一些小问题。我重复我的建议,使用以控制台为中心的库,这些库使用本机调用,例如jCourses。