gpt4 book ai didi

java - 如何在Java中从控制台读取单个字符(随着用户键入字符)?

转载 作者:搜寻专家 更新时间:2023-10-30 23:02:42 25 4
gpt4 key购买 nike

当用户在java中输入一个字符时,有没有一种简单的方法可以从控制台读取它?有可能吗?我尝试过这些方法,但它们都等待用户按回车键:

char tmp = (char) System.in.read();
char tmp = (char) new InputStreamReader(System.in).read ();
char tmp = (char) System.console().reader().read(); // Java 6

我开始认为system.in在按下enter之前不知道用户的输入。

最佳答案

您想要做的是将控制台设置为“原始”模式(行编辑旁路和不需要输入键),而不是在“UNIX系统”上的“熟”模式(行编辑与输入键)。“STTY”命令可以改变模式。
现在,关于Java…见Non blocking console input in Python and Java。节选:
如果你的程序必须基于控制台,
你得把终端关掉
将线条模式转换为字符模式,以及
记得在你
程序退出。没有便携设备
跨操作的方式
系统。
其中一个建议是使用jni。再说一遍,那不是很便携。另一个建议是在文章的末尾,和上面的文章一样,使用jCurses来查看。

关于java - 如何在Java中从控制台读取单个字符(随着用户键入字符)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30564519/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com