我嘗試在java代碼中執行一個基本命令,即「java -version」。我的代碼工作的shell命令,例如「LS」,「回聲$ PATH」等 我的代碼:如何在java代碼中執行unix終端中的外部工具?
import java.io.*;
public class cmd {
public static void main(String[] args) {
String command = "java -version";
Process proc = null;
try {
proc = Runtime.getRuntime().exec(command);
} catch (IOException e1) {
System.out.println("IOException 1");
}
BufferedInputStream buffer = new BufferedInputStream(proc.getInputStream());
BufferedReader commandOutput= new BufferedReader(new InputStreamReader(buffer));
String line = null;
try {
while ((line = commandOutput.readLine()) != null) {
System.out.println(line);
}
commandOutput.close();
} catch (IOException e) {
System.out.println("IOException 2");
}
}
}
代碼工作沒有異常或錯誤,但沒有輸出。
如果String命令=「ls」,代碼可以工作,輸出可以在控制檯中看到。
指定工具的完整路徑是有用的和正在工作。謝謝。 – hcakmak
你應該至少得到錯誤流輸出 - 如果有任何其他錯誤,除了錯誤的路徑,沒有錯誤流,你將不會得到有關信息... – eis
ps。如果你認爲這個答案解決了你的問題,請將答案標記爲已接受:) – eis