請原諒,這是我第一次提出問題。我正在尋找使用Java打印當前在我的計算機上運行的所有應用程序的方法。打印所有正在運行的應用程序Java
例如:
Google Chrome
Microsoft Word
Microsoft Outlook
Netbeans 8.0.2
Etc.
目前,我開始一個新的進程和運行命令ps -e然後分析其輸出。雖然我認爲我通過使用命令行正處於正確的軌道,但我認爲我需要一個不同的命令。 這裏是我的代碼:
try {
String line;
Process p = Runtime.getRuntime().exec("ps -e");
BufferedReader input =
new BufferedReader(new InputStreamReader(p.getInputStream()));
while ((line = input.readLine()) != null) {
for(int i = 0; i < line.length(); i++){
try{
if(line.substring(i, i + 13).equals(".app/Contents")){
//System.out.println(line.substring(i - 5, i + 3));
int j = 0;
String app = "";
while(!(line.charAt(i + j) == '/')){
app = app + line.charAt(i + j);
//System.out.print(line.charAt(i + j));
j--;
}
String reverse = new StringBuffer(app).reverse().toString();
System.out.println(reverse);
//System.out.println("");
}/*System.out.println(line.substring(i, i + 13));*/}catch(Exception e){}
}
//System.out.println(line); //<-- Parse data here.
}
input.close();
} catch (Exception err) {
err.printStackTrace();
}
所以,這是正確的做法,是那裏只是一個不同的命令,我需要使用或是否有更好的方法的整體?
http://stackoverflow.com/questions/54686/how-to-get-a-list-of-current-open-windows-process-with-java類似於你在做什麼 –
這就是我開始了,但這隻會給我所有的流程。我嘗試使用.app/Contents解析所有內容,但這不起作用。 – dsiegler19