识别 Java 扫描仪或控制台应用程序中的箭头键

Recognize arrow keys in Java Scanner or Console application

我正在编写一个 Java 应用程序,它使用 ScannerConsole 从用户那里获取输入。我想添加命令历史记录支持,以便用户可以使用箭头键搜索以前的输入(类似于终端)。有没有办法做到这一点?现在,当我使用 ScannerConsole 时,我会在按下箭头键时得到像 ^[[A 这样的奇怪符号。

我已阅读 KeyListenerKeyEvent,但我的应用程序不使用 GUI。

谢谢!

好问题 - +1。在 Windows 上,我会 SetConsoleMode 更改控制台以获取原始输入,但在 *Nix 上似乎涉及更多工作。遗憾的是,我现在没有任何代码可以向您展示,但请查看此 link 看看是否有帮助。

http://www.darkcoding.net/software/non-blocking-console-io-is-not-possible/