我正在编写一个使用Scanner
和Console
的Java应用程序来获取用户的输入。我想添加命令历史记录支持,以便用户可以使用箭头键搜索以前的输入(类似于终端)。有没有办法做到这一点?现在,当我使用Scanner
或Console
时,按下箭头键时会出现奇怪的符号,如^[[A
。
我已阅读有关KeyListener
和KeyEvent
的内容,但我的应用程序未使用GUI。
谢谢!
答案 0 :(得分:1)
好问题 - + 1。在Windows上,我会使用SetConsoleMode来更改控制台以获取原始输入,但在* Nix上,它看起来更多涉及工作。不幸的是,我现在没有任何可以向您展示的代码,但请查看此链接,看看是否有帮助。
http://www.darkcoding.net/software/non-blocking-console-io-is-not-possible/