2012-08-06 90 views
0

我有一個命令行Java程序,我不能修改某些完整性的原因,我爲這個程序提供了一個圖形用戶界面,我得到它所有覆蓋,除了我無法提供有關完成進程的通知作爲程序使用System.out.println()將數據打印到命令行,我使用net beans設計了UI,它位於一個單獨的文件中,所以我該如何做這個..?如何顯示執行的命令行程序的輸出?

回答

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掃描輸入並對其進行處理。

+0

感謝您的幫助..我重新實施了使用runtime.exec的程序,但我仍在努力如何動態地提供基於流的通知..感謝您的努力.. – Riddler 2012-08-06 16:00:30

+0

您可以使用Scanner類來去做。 – 2012-08-06 19:06:26

相關問題