从Windows命令行的键盘读取数据,而不将光标移动到下一行

时间:2015-07-20 17:43:34

标签: java input

如何在不使用Java将光标移动到下一个控制台的情况下实现从键盘读取的数据?

具体来说,命令行是Windows。

java.util.Scanner将光标移动到其方法的下一行,就像java.io.Console一样。

据我所知,将游标返回到Java控制台中的前一行是不可能的。

public static String Read() {
  Scanner Sc = new Scanner(System.in);
  return Sc.next();
}

System.out.print("Turn of player: "); 
TempPlayerGuess = Integer.parseInt(Read()); 
System.out.print(".");

我明白了:

转身:4

但我希望看到:

转身:4。

1 个答案:

答案 0 :(得分:0)

我认为这不可行。 System.in是用于访问标准输入的InputStream。在用户按下返回键之前,输入流不提供数据(可能是平台特定的)。由于所有标准输入都使用System.in,我认为不可能做你所要求的。这是一个例子。

import java.io.IOException;

public class ReadInput {
    public static void main(String[] args) throws IOException {
        int readByte = -1;
        while ((readByte = System.in.read()) != -1) {
            System.out.println(String.format("Read character code %d", readByte));
        }
    }
}