Java阅读键盘输入

Java阅读键盘输入,java,command-line,Java,Command Line,有没有一种方法可以使用命令行从键盘读取输入,而不使用java将该输入显示到命令行 例如,我希望用户能够输入随机字符,然后系统可以处理这些字符,而不会像扫描仪或system.console().readLine那样开始显示在屏幕上会 编辑: 我需要将原始输入读取为字符,而不是要求用户在输入字符串后按enter键 2.与Haskell中的代码类似 hSetBuffering stdout NoBuffering hSetBuffering stdin NoBuffering hSetEcho std

有没有一种方法可以使用命令行从键盘读取输入,而不使用java将该输入显示到命令行

例如,我希望用户能够输入随机字符,然后系统可以处理这些字符,而不会像扫描仪或
system.console().readLine那样开始显示在屏幕上

编辑:

  • 我需要将原始输入读取为字符,而不是要求用户在输入字符串后按enter键
  • 2.与Haskell中的代码类似

    hSetBuffering stdout NoBuffering
    hSetBuffering stdin NoBuffering
    hSetEcho stdin False
    )
    

    是的,使用。

    不,我认为没有一种方法可以通过命令行实现这一点。但是您可以使用a并向其中添加a。

    这不需要用户在输入后按enter键吗?对不起,我应该说我需要原始输入是的,如果你不想要,你可以编写一个GUI应用程序而不是命令行应用程序。据我所知,在不回显的情况下,无法从控制台读取单个字符。好的,谢谢,我自己找不到任何东西,只是想知道我是否遗漏了什么。@user4301818只是想知道为什么要这样做?请参阅我在原帖上的上述评论。很抱歉问,但是你是我在过去的一周里看到的第三个问类似问题的人,没有人解释过他们为什么想要这个。我只是好奇。我不能代表其他人谈论这个问题,因为我不知道其他人也有这个问题,但我正在编写一个简单的游戏,通过一个线程接收用户输入,然后使用另一个线程,计算机以递减的间隔生成随机字符到缓冲区,供用户猜测,如果他们匹配,用户会得到一分,一旦缓冲区中有10个字符,游戏就停止了。最初是由计算机生成缓冲区字符和猜测,但现在我想修改代码,以便用户可以输入,我在haskell中已经这样做了,但想知道java中是否有类似的方法。