有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

用java实现终端的独立输入/输出

我有一个java软件在一个线程中运行main,该线程带有一个用于用户输入(即:“输入”)的扫描器,另一个线程每3秒钟输出一个字符串(即:“输出”)。 结果是:

enter image description here

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


共 (1) 个答案

  1. # 1 楼答案

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

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

    解决这类问题最常见的方法可能是使用Swing或JavaFX创建自定义GUI终端。你会有一个文本字段接受你的输入,还有一个单独的文本区域显示你的输出

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

    用Java重定向标准输出/输入并不总是一件小事,但如果你朝这个方向走,你需要问一些新的、更具体的问题来获得更多帮助