2013-06-24 110 views
-1

如何從另一個java程序獲取輸入?我有一個類生成一個隨機圖,並將其寫入Windows cmd控制檯中,其編號爲System.out.println();。我想要的是這個其他類讀取這個輸出並用它來做一些計算。這兩個類都工作正常 - 我需要知道的是如何從第一類獲得此輸出。從windows cmd讀取輸入

編輯: 我想這個http://pastebin.com/GnsUZVht讀取這個http://pastebin.com/cgXMCbgb做的輸出將它放回矩陣。

+2

你想讀取另一個Java程序的輸出或由同一程序中的其他類完成的輸出嗎?請更好地說明你的問題。 – peshkira

+0

請提供一個例子來說明你想要做什麼。你應該包括你期望如何運行你的程序。 –

+0

從Nuno想要將一個程序的結果寫入終端的問題來看,這很清楚,第二個程序可以將結果寫入終端。 –

回答

2

看看解決方案here

據此,您可以使用Process Builder,這是用於創建操作系統進程

的例子:

ProcessBuilder ps=new ProcessBuilder("java.exe","-version"); 

ps.redirectErrorStream(true); 

Process pr = ps.start(); 

BufferedReader in = new BufferedReader(new 
InputStreamReader(pr.getInputStream())); 
String line; 

while ((line = in.readLine()) != null) { 
    System.out.println(line); 
} 
pr.waitFor(); 
in.close(); 
System.exit(0); 
0

這將是最簡單的只具有兩個類在同一程序中,然後將這些變量作爲自變量存儲從所述第一類中的變量產生的數據,然後傳遞到下一堂課,而不是從控制檯打印和閱讀。

0

假如你想這樣做(例如在Linux bash)的

java -jar one.jar | java -jar two.jar | ... 

代碼one.jar會寫信給的System.out而代碼two.jar然後從讀取System.in