Java-программа для изменения каталога командной строки - PullRequest
0 голосов
/ 16 сентября 2010

Я написал java-программу с именем Automate.java, в которой будет выполняться другая java-программа с именем newsmail.

Проблема, с которой я сталкиваюсь, заключается в том, что Automate.java находится в папке Desktop (должен находиться втолько из-за некоторых требований к рабочему столу), а новостная почта находится в /home/Admin/GATE521/LN_RB в этом месте.

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

String command = "java newsmail";
Process child = Runtime.getRuntime().exec(command);

Ответы [ 2 ]

5 голосов
/ 16 сентября 2010

Вы можете использовать это exec():

Process child = Runtime.getRuntime().exec(command, null, new File("/home/Admin/GATE521/LN_RB"));

Ресурсы:

3 голосов
/ 16 сентября 2010

Используйте новый класс ProcessBuilder вместо Runtime.exec().

ProcessBuilder pb = new ProcessBuilder("java", "newsmail");
pb.directory("/home/Admin/GATE521/LN_RB");
pb.start();

Вы даже можете взглянуть на pb.environment(), чтобы изменить переменные среды, если это необходимо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...