2015-07-18 2 views
0

Я сражаюсь с Java, пытаясь запустить exe-команду в Windows, я могу запустить блокнот, но в любой момент, когда я пытаюсь передать аргументы, я ничего не получаю. За последние несколько дней я искал множество полезных способов запуска exe-файлов, но я просто не могу понять, почему никто не будет работать с аргументами. Вот один из примеров, которые я пробовал сегодня, используя ProcessBuilder для начинающих.Запустите Windows .exe в Java с параметрами

public static void main(String[] args) throws Exception{ 
    ProcessBuilder p = new ProcessBuilder("C:/my/path/phantomjs.exe", "script.js", "site.com", ">", "output.txt"); 
    p.start(); 
} 
+0

Смотрите эту [Java-программирование-называть-ан-EXE-из-Java-и-параметры ближнего] [1] [1]: http://stackoverflow.com/questions/5604698/java-programming-call-an-exe-from-java-and-pass-parameters –

+0

Спасибо, но я последовал за этим несколько раз без везения. Мое приложение все равно не будет работать. – Logical

ответ

3

Перенаправление (> символов) фактически не является частью команды. Он разбирается с cmd.exe (или оболочкой Unix/Linux).

Вы хотите:

ProcessBuilder p = new ProcessBuilder("C:/my/path/phantomjs.exe", "script.js", "site.com"); 
p.redirectOutput(new File("output.txt")); 
p.start(); 

Вы, вероятно, следует обратить внимание на резюме всех ProcessBuilder methods доступны для вас.

Смежные вопросы