Java: ProcessBuilder Изменение пути - PullRequest
2 голосов
/ 24 июня 2010

Я пишу Java-программу, которая должна быть интерфейсом GUI, использующим третичную программу C для генерации некоторых значений для различных меток.

Но я не хочу жестко кодировать путь к программе на Си. Я просто хочу, чтобы Java-программа выполняла C-программу, предполагая, что она будет в том же каталоге, из которого я запускал Java-программу (в противном случае появится сообщение об ошибке).

Я никогда раньше не использовал Processbuilder, поэтому буду признателен за обширные примеры:)

1 Ответ

3 голосов
/ 25 июня 2010

Один из способов получить путь к банке, содержащей текущий код Java, заключается в следующем (где «THISCLASS» - это имя класса):

  URL jarURL = THISCLASS.class.getProtectionDomain().getCodeSource().getLocation();
  String jarPath = jarURL.getPath();
  File file = new File( jarPath );

Учитывая путь к файлу jar,Вы можете использовать API java.io.File для перемещения относительного пути к исполняемому файлу.

...