изменение рабочего каталога команды с java

Мне нужно выполнить файл .exe из функции в одном из пакетов, которые есть в моем проекте java. теперь рабочий каталог является корневым каталогом проекта для java, но файл .exe находится в подкаталогах моего проекта. вот как организован проект:

ROOT_DIR
|.......->com
|         |......->somepackage
|                 |.........->callerClass.java
|
|.......->resource
         |........->external.exe

Первоначально я пытался запустить файл .exe напрямую через:

String command = "resources\\external.exe  -i input -o putpot";
Runtime rt = Runtime.getRuntime();
Process pr = rt.exec(command);

, но проблема во внешнем. exe необходимо получить доступ к некоторым файлам в его собственном каталоге и продолжает думать, что корневой каталог является его каталогом . Я даже пытался использовать файл .bat для решения проблемы, но возникает та же проблема:

Runtime.getRuntime().exec(new String[]{"cmd.exe", "/c", "resources\\helper.bat"});

и файл .bat находится в том же каталоге, что и файл .exe, но возникает та же проблема. вот содержимое файла .bat:

@echo off
echo starting process...

external.exe -i input -o output

pause

даже если я перемещу файл .bat в корневой каталог и исправлю его содержимое, проблема не исчезнет. плз плз плз помогите

18
задан user804723 25 July 2011 в 03:26
поделиться