有些时候在windows平台中,我们要用java来调用别人写好的exe程序,同时还要实现参数的输入和输出,以下就是Java在windwos11中实现调用exe程序的demo代码,供大家参考:
这里使用的java版本为JDK9.0.4;另外使用到了java io 中的这两个类: java.io.BufferedReader;java.io.InputStreamReader
import java.io.BufferedReader;
import java.io.InputStreamReader;
public class Main {
public static void main(String[] args) {
try {
// 设置Python可执行文件路径
String pythonExecutable = "D:\\OUT\\dist\\your_script_name.exe";
// 构建命令行参数 实现参数的传入
String[] command = {
pythonExecutable,
"--file", "D:\\data\\mk.csv",
"--history_time_period", "100",
"--future_time_period", "30",
"--neighbors", "5",
};
// 创建ProcessBuilder对象
ProcessBuilder processBuilder = new ProcessBuilder(command);
processBuilder.redirectErrorStream(true);
// 启动外部进程
Process process = processBuilder.start();
// 读取进程输出
BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream()));
String line;
while ((line = reader.readLine()) != null) {
System.out.println(line);
}
// 等待进程结束
int exitCode = process.waitFor();
System.out.println("Python script exited with code " + exitCode);
} catch (Exception e) {
e.printStackTrace();
}
}
}