java怎么調(diào)用bat并獲取結(jié)果

小億
255
2023-10-13 22:35:19

要在Java中調(diào)用.bat文件并獲取結(jié)果,可以使用Java中的Runtime類的exec()方法。以下是一個(gè)示例代碼:

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 {
// 調(diào)用命令行執(zhí)行.bat文件
Process process = Runtime.getRuntime().exec("cmd /c myscript.bat");
// 獲取.bat文件執(zhí)行的輸出流
InputStream inputStream = process.getInputStream();
BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream));
// 讀取輸出流中的內(nèi)容
String line;
while ((line = reader.readLine()) != null) {
System.out.println(line);
}
// 等待.bat文件執(zhí)行完畢
int exitCode = process.waitFor();
System.out.println("Exit Code: " + exitCode);
} catch (IOException | InterruptedException e) {
e.printStackTrace();
}
}
}

在上述代碼中,我們通過(guò)調(diào)用Runtime的exec()方法來(lái)執(zhí)行.bat文件。使用"cmd /c"來(lái)執(zhí)行命令行,然后指定.bat文件的路徑。然后通過(guò)獲取.bat文件的輸出流,我們可以讀取.bat文件執(zhí)行的結(jié)果。最后,通過(guò)調(diào)用waitFor()方法等待.bat文件執(zhí)行完畢,獲取執(zhí)行的退出碼。

請(qǐng)注意,這個(gè)例子假設(shè).bat文件是在當(dāng)前工作目錄下的,如果.bat文件的路徑不在當(dāng)前工作目錄,需要提供完整的路徑。

0