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