0
有没有办法,没有使用任何形式的gui包,没有System.out注入到提示的中间?分离System.Out消息和扫描器(Java)
该场景是一个线程化程序,您可以在该程序中向服务器发送和接收消息。
写入服务器时,您会收到来自服务器的消息。
“我writinMESSAGE从服务器G的消息”
所以你基本上最终看到类似的东西在你的控制台。
有没有办法来规避这个问题,从本质上分离提示和输入?
有没有办法,没有使用任何形式的gui包,没有System.out注入到提示的中间?分离System.Out消息和扫描器(Java)
该场景是一个线程化程序,您可以在该程序中向服务器发送和接收消息。
写入服务器时,您会收到来自服务器的消息。
“我writinMESSAGE从服务器G的消息”
所以你基本上最终看到类似的东西在你的控制台。
有没有办法来规避这个问题,从本质上分离提示和输入?
你可以做这样的事情来缓冲输出临时:
ByteArrayOutputStream out = new ByteArrayOutputStream();
PrintStream oldOut = System.out;
System.setOut(new PrintStream(out));
// System.in read code
System.setOut(oldOut);
System.out.println(out.toString());
同为System.err
我想这就是我要找的,谢谢! – Wuzseen
+1如果您也添加了'out.reset()'调用,缓冲区就可以重新使用了。 –
也许我说得太快了,我对system.out的调用在一个线程中,而system.in在另一个线程中。尽管我理解这个想法,但并不完全确定这会走向何方。 – Wuzseen