2012-07-02 3 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' (from prompt) – alfasin

Смежные вопросы