我正在使用以下代碼來執行.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;
}
}
相對於什麼?回想一下,「當前目錄」的概念在Java中並不是很有用。 – leonbloy
相對於類文件 –
老實說,看起來我必須爲它編寫一個安裝程序。 –