我正在使用Java编写控制台应用程序,类似于聊天客户端:输入和输出是异步完成的。问题在于,如果在用户正在输入时进行某些输出,则屏幕上的行会混乱。
我正在寻找一种解决方案,允许我拥有一个与输出区域分离的输入区域。目前,我正在使用一个额外的线程来轮询System.in上的BufferedReader。
该程序需要在Linux服务器上运行,并通过ssh会话访问。因此,任何仅适用于此环境的提示都可以。
是否有任何高级库可实现此功能?或者有没有使用终端/ ANSI代码的巧妙技巧?ANSI代码s(保存光标)和r(恢复光标)可能有帮助,但我如何知道要跳转到哪里进行输出,以及如何处理滚动?
我正在寻找一种解决方案,允许我拥有一个与输出区域分离的输入区域。目前,我正在使用一个额外的线程来轮询System.in上的BufferedReader。
该程序需要在Linux服务器上运行,并通过ssh会话访问。因此,任何仅适用于此环境的提示都可以。
是否有任何高级库可实现此功能?或者有没有使用终端/ ANSI代码的巧妙技巧?ANSI代码s(保存光标)和r(恢复光标)可能有帮助,但我如何知道要跳转到哪里进行输出,以及如何处理滚动?