Выполнить команду командной строки на Java

203
06 мая 2018, 21:22

Я запускаю программу при помощи командной строки следующим образом:

Desktop\p.exe -Arg1

Как написать код запуска программы таким образом на Java? Я пробовал такие методы:

Runtime.getRuntime().exec("\"C:\\Users\\Admin\\Desktop\\p.exe\" –Arg1");

и

new ProcessBuilder("C:\\Users\\Admin\\Desktop\\p.exe", "–Arg1").start();

программа не получает аргумент "-Arg1". Она его получает, только если я вручную в командной строке запускаю программу.

Answer 1

Вы уверены, что программа вообще запускается? Попробуйте использовать абсолютный путь до неё.

Этот код должен работать:

ProcessBuilder builder = new ProcessBuilder("C:\\...\Desktop\p.exe", "-Arg1");
Process process = builder.start();

Путь поправьте для себя на верный (не помню, в какую сторону и сколько слешей используется в путях на Windows).

Ещё вариант:

Runtime.getRuntime().exec(new String[]{"C:\\Users\\Admin\\Desktop\\p.exe", "-Arg1"});
READ ALSO
Сортировка tableview в собственном порядке

Сортировка tableview в собственном порядке

Имеется колонка, в которой отображается звание военнослужащего:

206
Как исправить ошибку с build.gradle?

Как исправить ошибку с build.gradle?

Обновил Andoid Studio до 31, однако при открытии старых проектов или создании новых выскакивает ошибка

222
Java, скачивание фаила

Java, скачивание фаила

Недавно начал изучать java, помогите пожалуйста разобраться

231