我有一个 JAR 文件(“AccessDB.jar” - 执行它时,启动一个工具)。我必须从 Netbeans 7.0 中的此位置 (D:\NB\ProjFolder) 访问此 jar 文件。我尝试使用 ProcessBuilder 读取它,但失败了。
从这个java代码中,我必须通过读取它来启动该工具(在jar文件中)。如何为此修改代码?
public class classAccessDB {
public void GenerateAccessDB() {
Runtime run = Runtime.getRuntime();
try
{
ProcessBuilder pb = new ProcessBuilder("C:\\Program Files\\Java\\jdk1.6.0_20\\bin\\java.exe", "-jar", "AccessDB.jar");
pb.directory(new File("D:\\NB\\ProjFolder"));
Process p = pb.start();
InputStream is = p.getInputStream();
BufferedReader br = new BufferedReader(new InputStreamReader(is));
String resultOutput = br.toString();
System.out.println(resultOutput);
}
catch(Exception E)
{
E.printStackTrace();
System.out.println(E.getMessage());
}
}
}
您的.jar可能无法执行。实例化类或调用任何静态方法。
创建 JAR 时添加主类条目。到 list 文件中。
然后就可以使用
Process ps=Runtime.getRuntime().exec(new String[]{"java","-jar","yourJar.jar"});
ps.waitFor();
java.io.InputStream is=ps.getInputStream();
byte b[]=new byte[is.available()];
is.read(b,0,b.length);
System.out.println(new String(b));
我是一名优秀的程序员,十分优秀!