我正在使用以下代码来执行.Net编译的可执行文件并存储输出。我希望能够将.exe放入另一个包中并运行它。然而,无论何时我尝试运行我的代码,它都告诉我文件没有找到,因为我没有将文件的完整路径。有没有简单的方法来解决这个问题,比如将其包含在类路径中或我缺少的东西。如何从Java中的相对路径运行可执行文件
public class ActiveDirectoryQuery {
private String email = "";
public ActiveDirectoryQuery(){}
public void setEmail(String host){
this.email = host;
}
public String getEmail(){
return this.email;
}
public String getUserName() throws IOException{
Process process = new ProcessBuilder(
"/relative/path/to/EmailFQDN.exe", this.email).start();
InputStream is = process.getInputStream();
InputStreamReader isr = new InputStreamReader(is);
BufferedReader br = new BufferedReader(isr);
String line;
String fullOutput= "";
while ((line = br.readLine()) != null) {
System.out.println(line);
fullOutput=fullOutput+line+"\n";
}
return fullOutput;
}
}
+0
相对于什么?回想一下,“当前目录”的概念在Java中并不是很有用。 –
+0
相对于类文件 –
+0
老实说,看起来我必须为它编写一个安装程序。 –