代码之家  ›  专栏  ›  技术社区  ›  Hendrik Brummermann

在Java控制台应用程序中保持输入/输出分离

  •  4
  • Hendrik Brummermann  · 技术社区  · 16 年前

    我正在用Java编写一个控制台应用程序。它类似于聊天客户端:输入和输出是异步进行的。问题是,如果在用户打字的过程中进行了一些输出,那么屏幕上的行就会混在一起。

    我正在寻找一个解决方案,它允许我有一个输入区域与输出区域分开。目前我正在使用一个额外的线程,它轮询BufferedReader程序输入.

    该程序需要在Linux服务器上运行,并通过ssh会话进行访问。因此,任何只在这种环境下起作用的提示都是好的。

    有没有高级库可以做到这一点?还是有使用终端/ANSI代码的聪明技巧?ANSI代码s(save cursor)和r(restore cursor)可能会有所帮助,但是我如何知道从何处跳转以执行输出以及如何处理滚动?

    2 回复  |  直到 16 年前
        1
  •  2
  •   K Erlandsson    11 年前

    ncurses javacurses 它似乎是类似ncurses的Java实现。

        2
  •  1
  •   Brian Agnew    16 年前

    听起来你需要诅咒。 JCurses