要在Java中調用.bat文件并獲取結果,可以使用Java中的Runtime類的exec()方法。以下是一個示例代碼:
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
public class CallBatFile {
public static void main(String[] args) {
try {
// 調用命令行執行.bat文件
Process process = Runtime.getRuntime().exec("cmd /c myscript.bat");
// 獲取.bat文件執行的輸出流
InputStream inputStream = process.getInputStream();
BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream));
// 讀取輸出流中的內容
String line;
while ((line = reader.readLine()) != null) {
System.out.println(line);
}
// 等待.bat文件執行完畢
int exitCode = process.waitFor();
System.out.println("Exit Code: " + exitCode);
} catch (IOException | InterruptedException e) {
e.printStackTrace();
}
}
}
在上述代碼中,我們通過調用Runtime的exec()方法來執行.bat文件。使用"cmd /c"來執行命令行,然后指定.bat文件的路徑。然后通過獲取.bat文件的輸出流,我們可以讀取.bat文件執行的結果。最后,通過調用waitFor()方法等待.bat文件執行完畢,獲取執行的退出碼。
請注意,這個例子假設.bat文件是在當前工作目錄下的,如果.bat文件的路徑不在當前工作目錄,需要提供完整的路徑。