Выполнение .exe файла из Java-приложения - PullRequest
2 голосов
/ 25 декабря 2011

Я написал программу на C, которая просто удаляет папку myFolder.txt
Я хочу выполнить файл .exe из Java-приложения.
Итак, я использовал следующий код:

 try
 {
    Runtime rt = Runtime.getRuntime() ;
    Process p = rt.exec("program2.exe") ;
     p.destroy() ;
 }catch(Exception exc){/*handle exception*/
System.out.println("ERROR");
    }

Когда я запускаю Java-приложение, ошибка не появляется, но файл не удаляется.

Почему?

Ответы [ 2 ]

6 голосов
/ 25 декабря 2011

Вы создали процесс, а затем сразу уничтожили отредактировали его. Конечно, исполняемый файл не запускается. Попробуйте вместо этого вызвать .waitFor() (или просто дайте ему поработать).

2 голосов
/ 25 декабря 2011

Я думаю, что program2.exe может отсутствовать в пути к классам проекта Java.

try  {
    Runtime rt = Runtime.getRuntime() ;
    Process p = rt.exec("program2.exe") ; // @1
    //p.destroy() ; // @2
} catch (Exception exc) {
    /*handle exception*/
    System.out.println("ERROR");
}

@ 1 - проверить путь к exe-файлу.

@ 2 - нетнеобходимо уничтожить процесс вручную, он завершится автоматически после завершения процесса.

Вы можете проверить, запущен процесс или нет, запустить проект Java - немедленно перейти к диспетчеру задач - процесс - если естьпроцесс, который называется program2.exe, ваш процесс запущен, иначе он не запущен.Если не запущен, исключений нет - тогда проблема с путем к файлу exe, попробуйте указать полный путь к файлу exe.

...