我有一个命令行 Java 程序,很遗憾由于某些完整性原因我无法修改它,我正在为这个程序提供一个 GUI,我得到了所有内容,除了我无法在程序打印时向用户提供有关进程完成的通知使用 System.out.println() 将数据传输到命令行,我使用 net beans 设计了 UI,它驻留在一个单独的文件中,所以我该怎么做..?
问问题
144 次
1 回答
3
您是否使用Runtime.exec来执行程序?然后你可以像这样得到输出流:
Runtime rt = Runtime.getRuntime();
Process proc = rt.exec("java yourOtherProgram.jar");
InputStream stdin = proc.getInputStream();
如果您直接调用某个方法,则可以像这样重定向 System.out:
PrintStream out = ...;
PrintStream err = ...;
System.setOut(out);
System.setErr(err);
ThatOtherProgram foo = new ThatOtherProgram();
foo.main(new String[0]);
编辑
然后,您可以使用Scanner扫描输入并对其进行处理。
于 2012-08-06T15:31:29.430 回答