2010-06-24 274 views
2

我正在编写一个Java程序,该程序应该是GUI前端,该程序使用第三级C程序为各种标签生成一些值。Java:ProcessBuilder更改路径

但我不想硬编码到C程序的路径。我只想让Java程序执行C程序,假定它与我运行Java程序的目录相同(否则会出现错误消息提示)。

我从来没有用过的ProcessBuilder之前,所以我会欣赏大量的示例:)

回答

3

一种方式来获得包含当前的Java代码的jar的路径如下所示(其中“THISCLASS”是的名称一类):

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

鉴于路径jar文件,你可以使用的java.io.File API出行相对可执行文件的路径。

+0

非常感谢:) – GeniusWannabe 2010-06-28 15:02:18