也许是一个尴尬的问题,但我想知道是否有可能运行一个以某种方式链接到多个命令promt的Java控制台应用程序。
我钦佩的是拥有一个Java应用程序,它提供一个用于读取控制台输入的控制台,一个用于提供类型A的控制台输出,一个用于提供类型B的输出,等等。
有关于此的任何想法或评论吗?
编辑:
我正在考虑类似于......的事情。
System1.out.println("output A");
System2.out.println("output B");
我的具体问题如下:
我必须通过控制台向用户提供大量输出,为了使其更具可读性并提供更多结构概述,我想使用更多控制台。
答案 0 :(得分:0)
你绝对可以这样做 - 但是你需要某种方式在两个实例之间共享信息(例如,数据库,尽管根据你的用法可能有些过分),然后推送/轮询信息更新
根据您的设置,您既可以彼此了解,也可以让他们完全无知。您还可以设置充当中继的第三个实例 - 了解所有实例并处理所有通道的消息传递。
答案 1 :(得分:0)
这可以通过将类型A和B的输出记录到文件并使用诸如tail / grep之类的命令在单独的控制台中查看不同的输出来轻松执行。
答案 2 :(得分:0)
无法像你指示的那样使用 System1.out.println(“...”); ;但是,System可以使用“setOut(PrintStream out)”方法:
try {
PrintStream psA = new PrintStream("My_Output_A.log");
PrintStream psB = new PrintStream("My_Output_B.log");
System.setOut(psA);
System.out.println("Message for A");
System.setOut(psB);
System.out.println("Message for B");
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
上面的代码将消息打印到2个单独的文件。
我认为这是您的应用所需。