我正在尝试获取控制台的内容并将其附加到JavaFX TextArea 我在StackOverflow周围找到了各种各样的例子,但它们都使用了类似的代码:
@FXML
public void initialize() throws IOException {
Console console = new Console();
PrintStream ps = new PrintStream(console, true);
System.setOut(ps);
System.setErr(ps);
System.err.flush();
System.out.flush();
}
问题是Java 9中似乎不再接受前两行。对于第一行,我已经解决了我的问题:
Console console = new Console();
...变为
Console console = System.console();
但是,PrintStream构造函数不再接受java.io.Console对象作为输入,而只是...
错误:(124,26)java:找不到适合PrintStream的构造函数(java.io.Console,boolean) 构造函数java.io.PrintStream.PrintStream(boolean,java.io.OutputStream)不适用 (参数不匹配; java.io.Console无法转换为boolean) 构造函数java.io.PrintStream.PrintStream(java.io.OutputStream,boolean)不适用 (参数不匹配; java.io.Console无法转换为java.io.OutputStream) 构造函数java.io.PrintStream.PrintStream(java.lang.String,java.lang.String)不适用 (参数不匹配; java.io.Console无法转换为java.lang.String) 构造函数java.io.PrintStream.PrintStream(java.io.File,java.lang.String)不适用 (参数不匹配; java.io.Console无法转换为java.io.File)
我错过了什么吗? 作为参考,我使用了this question。