使用java在终端中独立输入/输出

时间:2016-03-15 12:15:00

标签: java input terminal console output

我有一个java软件在一个Thread中运行main,其中一个Scanner用于用户输入(即:“Input”),另一个Thread每隔3秒输出一个String(即:“Output”)。 结果如下:

enter image description here

我没时间写输入,第二个线程写输出。 有没有办法避免它并让用户在不干扰输出的情况下写入输入?

1 个答案:

答案 0 :(得分:0)

根据评论,我相信您正在寻找一种方法来接受一个线程中的用户输入,同时使用另一个线程将输出写入终端中的不同位置。正如评论中所提到的,这在简单的I / O终端中没有多大意义。标准终端不具有“位置”的概念,超出了在流中接收/输出字节的位置。

希望你现在明白你的问题不清楚,取决于你想做什么。

此类型问题最常见的方法可能是使用Swing或JavaFX创建自定义GUI终端。您将有一个接受输入的文本字段,以及一个显示输出的单独文本区域。

如果想要使用文本界面,那么可以查看curses类似的选项。例如:What's a good Java, curses-like, library for terminal applications?

使用Java重定向标准输出/输入并不总是微不足道,但如果你朝这个方向发展,你需要提出新的,更具体的问题以获得更多帮助。