JAVA:执行打包在jar文件中的外部程序

时间:2014-01-27 06:57:07

标签: java

我有一个jar文件,其中有一个外部程序。 这意味着在jar的实现中,它将外部程序放入其资源文件夹中,并且有一个函数使用Process类调用该程序。 我正在使用jar并尝试调用此函数来封装程序。但得到以下错误:

Exception in thread "main" java.io.IOException: Cannot run program "file:/C:/Data/Work/workspace/keytool/lib/baseutil-1.0.0-SNAPSHOT.jar!/decode.exe": CreateProcess error=2, The system cannot find the file specified
at java.lang.ProcessBuilder.start(ProcessBuilder.java:1029)

非常感谢您的帮助。

编辑:

调用jar中文件的方法:

public String retrive(String dmidecode) throws Exception {
StringBuilder sb = new StringBuilder();
for (int i = 0; i < options.length; i++) {
    Process process = new ProcessBuilder(dmidecode, "-s", options[i]).start();
    InputStream is = process.getInputStream();
    InputStreamReader isr = new InputStreamReader(is);
    BufferedReader br = new BufferedReader(isr);
    String line;
    sb.append(options[i]);
    sb.append("=");
    while ((line = br.readLine()) != null) {
        sb.append(line);
    }
    sb.append("\n");
}
return sb.toString();

}

0 个答案:

没有答案