当用户在Java中键入时,是否有一种从控制台读取单个字符的简单方法?可能吗?我尝试过这些方法但他们都在等待用户按下回车键:
char tmp = (char) System.in.read();
char tmp = (char) new InputStreamReader(System.in).read ();
char tmp = (char) System.console().reader().read(); // Java 6
Run Code Online (Sandbox Code Playgroud)
我开始认为System.in在按下enter之前不知道用户输入.
我正在编写一个 Java 应用程序,它同时使用Scanner和Console来获取用户的输入。我想添加命令历史支持,以便用户可以使用箭头键搜索以前的输入(类似于终端)。有没有办法做到这一点?现在,当我使用 theScanner或 the 时Console,我会得到奇怪的符号,就像^[[A按箭头键一样。
我已经阅读了KeyListener和KeyEvent,但我的应用程序不使用 GUI。
谢谢!