Запуск программы из кода Java - PullRequest
1 голос
/ 10 мая 2009

Какой самый простой способ вызвать программу с помощью фрагмента кода Java? (Программа, которую я хочу запустить, называется aiSee, и ее можно запускать из командной строки или из графического интерфейса Windows; я работаю в Vista, но код также будет запускаться в системах Linux).

Ответы [ 4 ]

7 голосов
/ 10 мая 2009

Взгляните на Process и Runtime классы. Имейте в виду, что то, что вы пытаетесь достичь, возможно, не зависит от платформы.

Вот небольшой фрагмент кода, который может быть полезен:

public class YourClass
{
    public static void main(String args[])
       throws Exception
    {
        Runtime rt = Runtime.getRuntime();
        Process proc = rt.exec("name_of_your_application.exe");
        int exitVal = proc.exitValue();
        System.out.println("Process exitValue: " + exitVal);
    }
}

Один вопрос в S.O. обсуждение похожих вопросов. Другой один. И еще один.

1 голос
/ 10 мая 2009

Вы можете получить экземпляр времени выполнения, используя Runtime.getRuntime(), и вызвать метод exec среды выполнения с командой для выполнения программы в качестве аргумента.

Например:

Runtime runTime = Runtime.getRuntime ();       
Process proc = rt.exec("iSee.exe");

Вы также можете получить выходные данные программы, используя метод InputStream из процесса.

0 голосов
/ 10 мая 2009

Вы также можете рассмотреть возможность передачи своего рода аргумента вашей программе, чтобы облегчить поиск конкретной программы, которую вы хотите запустить.

Это могут быть аргументы командной строки, файлы свойств или системные свойства.

0 голосов
/ 10 мая 2009

Сложность, с которой вы столкнетесь, заключается в том, как заставить приложение узнать путь. Возможно, вы захотите использовать XML-файл или файл конфигурации, но если вы используете эту ссылку, она должна объяснить, как запустить файл: http://www.javacoffeebreak.com/faq/faq0030.html

...