[英]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.