当前位置: 首页 > 面试题库 >

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

陆栋
2023-03-14
问题内容

当用户在Java中键入单个字符时,是否有一种简单的方法可从控制台读取它?可能吗?我尝试了这些方法,但是它们都在等待用户按Enter键:

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 …参见Python和Java中的非阻塞控制台输入。摘抄:

如果您的程序必须基于控制台,则必须将终端从行模式切换到字符模式,并记住在程序退出之前将其还原。没有跨操作系统的可移植方法。

建议之一是使用JNI。同样,这不是很容易移植。与上面的帖子一样,该线程结尾处的另一个建议是考虑使用jCurses。



 类似资料:
  • 有没有一种简单的方法可以在用户用Java输入时从控制台读取单个字符?有可能吗?我尝试过这些方法,但它们都要等待用户按enter键: 我开始认为System.in在按下enter之前并不知道用户的输入。

  • 在下面的例子中,我试图接受用户的单字符输入,但是当运行程序时,我得到do...而循环执行多次。请参阅下面程序的结果。 如果有人能帮我找到答案,如何解决这个问题?

  • 问题内容: 有没有一种方法可以从用户输入中读取一个字符?例如,他们在终端上按一个键,然后将其返回(类似)。我知道Windows中有一个功能,但是我想要一些跨平台的功能。 问题答案: 以下是指向网站的链接,该网站说明了如何在Windows,Linux和OSX中读取单个字符:http : //code.activestate.com/recipes/134892/

  • 我用PDFBox读取PDF文件。但有些字符的打印效果不好,打印效果与控制字符类似。有人帮助从控制字符中读取值。我附上了图片,请看一下图片样本PDF: 截图:

  • 问题内容: 如何通过键盘用Java输入字符? 问题答案: 您可以扫描整行: 或者,只要您知道要处理的编码,就可以阅读一本:

  • 本文向大家介绍C#从控制台读取字符串的方法,包括了C#从控制台读取字符串的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了C#从控制台读取字符串的方法。分享给大家供大家参考。具体实现方法如下: 希望本文所述对大家的C#程序设计有所帮助。