繁体   English   中英

使用Java从用户那里获取输入

[英]Take input from the user using java

我正在使用此方法创建控制台

MessageConsole console = new MessageConsole("", null);
console.activate();
ConsolePlugin.getDefault().getConsoleManager()
        .addConsoles(new IConsole[] { console });
MessageConsoleStream stream = console.newMessageStream();
System.setOut(new PrintStream(stream, true));

我尝试了用于输入的普通方法,但无法正常工作这是我尝试过的代码

[1]这会打印“输入字符串”,但不允许您在控制台中编写

Scanner in = new Scanner(System.in);
System.out.println("Enter a string");
String s = in.nextLine();
System.out.println("You entered string " + s);

[2],此打印为null

BufferedReader columnInput = new BufferedReader(new InputStreamReader(
        System.in));
try {
    System.out.println(columnInput.readLine());
    // System.out.println("#read mflkerf: " );
} catch (IOException e) {

}

您的第一个代码段:

Scanner in = new Scanner(System.in);
System.out.println("Enter a string");
String s = in.nextLine();
System.out.println("You entered string " + s);

确实有效。 我猜是因为您使用System.setOut重新分配了标准输出流,所以您不再看到从System.out.println打印的输出

尝试创建一个将新控制台输出流打印到文件或某个位置的线程,您将看到输出

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM