Запуск командной оболочки или системной команды в JAVA

private void myFunction(String userName){
    String fileName = this.generateFile(userName);
    String[] command = new String[4];
    command[0] = "cmd";
    command[1] = "/C";
    command[2] = "dir";
    command[3] = "7za a "+ userName+".7z  "+ fileName +" -p"+this.password;
    try {  
        Process p = Runtime.getRuntime().exec(command);
        BufferedReader stdInput = new BufferedReader(new
        InputStreamReader(p.getInputStream()));

        BufferedReader stdError = new BufferedReader(new
        InputStreamReader(p.getErrorStream()));

        while ((s = stdError.readLine()) != null) {
        System.out.println(s);
        }

        ProcessBuilder proc = new ProcessBuilder(command[3]);
        proc.start();
    } catch(Exception e) {  
        System.out.println(e.toString());  
        e.printStackTrace();  
    }  
}

Я пробовал оба способа запуска командной строки в JAVA. Ни один из них не работал. Может ли кто-нибудь просветить меня в том, что я делаю неправильно. Я пытался 3 часа, но безуспешно: (

Я все время получаю эту ошибку Файл не найден java.io.IOException: Невозможно запустить программу "command"

Та же самая команда, когда я запускаю из cmd, она работает. Я использую Windows ..

Пожалуйста, помогите. Спасибо!

0
задан Mo3z 25 August 2011 в 14:56
поделиться