2013-07-03 15 views
0

因此,例如:我將如何使用數組來存儲在運行時啓動的進程,然後在for循環中將它們大量銷燬()它們?

Runtime rt = Runtime.getRuntime();創建Runtime rt

Process p1 = rt.exec("C:/Windows/System32/calc.exe");創建Process p1Runtime rt

然後p1.destroy();將破壞Process p1

我的問題是:如果我有一個以上的Process(例如p1p2p3),我怎麼destroy()一次全部,而不必摧毀他們一個接一個?

對於一個列表,我將如何實現一個列表到我的代碼?我還沒有使用列表和數組,雖然我試圖學習如何使用它們,但我想這是其中的一個例子,教與示例更容易...

如果你能幫助我,我會很高興提供一個PasteBin鏈接來展示我正在嘗試做什麼。

此外,一個for-loopdestroy()的過程已被提及給我,但我怎麼會去與Process

有誰知道如何做到這一點?

回答

0

你可以做這樣的事情:

Runtime rt = Runtime.getRuntime(); 
List<Process> processes = new ArrayList<Process>(); 
for (int i = 0; i < nProcesses; ++i) { 
    Process p = rt.exec(. . .); 
    processes.add(p); 
} 
// then later... 
for (Process p : processes) { 
    p.destroy(); 
} 

這最後的循環被稱爲enhanced for loop。這是或多或少相當於:

for (int i = 0; i < processes.size(); ++i) { 
    Process p = processes.get(i); 
    p.destroy(); 
} 
+0

它告訴我,「類型列表中不帶參數」。我該怎麼辦? – knorberg

+0

@TeddHopp如果我PasteBin代碼,你能解釋一下嗎? – knorberg

+0

@ user2506658 =哪條線給出了這個錯誤? –

相關問題