在Java中是否有可能让用户在“按下时”而不是在他点击返回时按下?
因此,例如,如果用户点击 ABC,然后点击Ctrl+ Z,我希望程序在此处结束(到达流的结尾),而不是在他按下回车键之后。
在Java中是否有可能让用户在“按下时”而不是在他点击返回时按下?
因此,例如,如果用户点击 ABC,然后点击Ctrl+ Z,我希望程序在此处结束(到达流的结尾),而不是在他按下回车键之后。
Ctrl当您按下+时,Windows 实际上并没有结束流Z;您可以继续编辑该行,当您按下 时,应用程序只会看到流的结尾Return。
这与 Unix 略有不同,其中Ctrl+会将当前缓冲的行发送到应用程序(没有换行符),并且当您在 a或另一个+之后按+D发送空缓冲区时,应用程序只会感知流的结尾。CtrlDReturnCtrlD
编辑:在 Windows 上,您可以使用SetConsoleMode函数来读取单个字符。我不确定你会怎么称呼它;似乎有三个选择: