2012-07-02 52 views
0
package src; 

import java.io.BufferedReader; 
import java.io.IOException; 
import java.io.InputStreamReader; 

public class Command 
{ 
    public static void main(String args[]) 
    { 
     try 
     { 
      Process p=Runtime.getRuntime().exec("cmd /c dir"); 
      p.waitFor(); 
      BufferedReader reader=new BufferedReader(new InputStreamReader(p.getInputStream())); 
      String line=reader.readLine(); 
      while(line!=null) 
      { 
       System.out.println(line); 
       line=reader.readLine(); 
      } 

     } 
     catch(IOException e1) {} 
     catch(InterruptedException e2) {} 

     System.out.println("Done"); 
    } 
} 

我試圖運行這段代碼,但它無法執行任何操作。是否有一些類路徑或其他設置我需要做到這一點?來自java程序的命令

+2

你是什麼意思'不能執行'?當你運行這個控制檯時,輸出是什麼?它也可能正在運行,但引發異常。你沒有做任何異常事情。在異常塊中添加'e1.printStrackTrace();'以查看錯誤信息 – Joost

+1

編譯它'> javac Command.java -d .'並從命令行運行'> java src.Command' – adatapost

+0

意味着它什麼也不做!它只是陷入無限循環而沒有給出任何輸出。 – agarwav

回答

2

備註行:

p.waitFor(); 

,然後重新運行。

你也可能想要讀this

+0

thanx:D現在工作。 – agarwav

+0

ok和alfasin如果我想運行一個java程序,我會寫些什麼假設a.java?我必須改變什麼? – agarwav

+0

'javac a.java'然後'java a'(來自提示符) – alfasin