0
我有一個命令行Java程序,我不能修改某些完整性的原因,我爲這個程序提供了一個圖形用戶界面,我得到它所有覆蓋,除了我無法提供有關完成進程的通知作爲程序使用System.out.println()將數據打印到命令行,我使用net beans設計了UI,它位於一個單獨的文件中,所以我該如何做這個..?如何顯示執行的命令行程序的輸出?
我有一個命令行Java程序,我不能修改某些完整性的原因,我爲這個程序提供了一個圖形用戶界面,我得到它所有覆蓋,除了我無法提供有關完成進程的通知作爲程序使用System.out.println()將數據打印到命令行,我使用net beans設計了UI,它位於一個單獨的文件中,所以我該如何做這個..?如何顯示執行的命令行程序的輸出?
您是否在使用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掃描輸入並對其進行處理。
感謝您的幫助..我重新實施了使用runtime.exec的程序,但我仍在努力如何動態地提供基於流的通知..感謝您的努力.. – Riddler 2012-08-06 16:00:30
您可以使用Scanner類來去做。 – 2012-08-06 19:06:26