Выполнение команды из Java и ожидание завершения команды

В моей программе на Java я создаю процесс, который выполняет команду для запуска командного файла, например:

try {
        File tempFile = new File("C:/Users/Public/temp.cmd");
        tempFile.createNewFile();
        tempFile.deleteOnExit();


        setContents(tempFile, recipe.getText()); //Writes some user input to file
        String cmd = "cmd /c start " + tempFile.getPath();


        Process p = Runtime.getRuntime().exec(cmd);


        int exitVal = p.waitFor();

        refreshActionPerformed(evt);

    } catch (InterruptedException ex) {
        Logger.getLogger(mainFrame.class.getName()).log(Level.SEVERE, null, ex); 
    } catch (IOException ex) {
        Logger.getLogger(mainFrame.class.getName()).log(Level.SEVERE, null, ex);
    } 

Теперь я бы хотел, чтобы команда

refreshActionPerformed(evt);

выполнялась только после Вызванный мной командный файл завершил работу. Но прямо сейчас он запускается сразу после открытия командной строки.

Как мне это исправить?

11
задан Matt R. Johnson 22 June 2011 в 18:36
поделиться