java程序中如何运行exe脚本文件呢?
下文笔者讲述java程序中运行exe脚本文件的方法分享,如下所示
java运行exe脚本文件的实现思路
Java程序中运行`.exe`脚本文件(或任何可执行文件) 可使用`java.lang.ProcessBuilder` 或 `java.lang.Runtime.getRuntime().exec()`方法运行可执行文件
使用`ProcessBuilder`
`ProcessBuilder`提供更灵活的方式来启动和管理进程
它允许你设置工作目录、环境变量,并且可以更方便地处理输入输出流。
例
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class RunExeWithProcessBuilder {
public static void main(String[] args) {
// 指定要运行的 .exe 文件路径
String exePath = "C:\\path\\to\\your\\script.exe";
// 创建 ProcessBuilder 实例
ProcessBuilder processBuilder = new ProcessBuilder(exePath);
// 设置工作目录(可选)
// processBuilder.directory(new File("C:\\path\\to\\working\\directory"));
try {
// 启动进程
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("Process exited with code " + exitCode);
} catch (IOException | InterruptedException e) {
e.printStackTrace();
}
}
}
代码说明
1.指定可执行文件路径:
String exePath = "C:\\path\\to\\your\\script.exe";
2.创建`ProcessBuilder`实例:
ProcessBuilder processBuilder = new ProcessBuilder(exePath);
3.设置工作目录(可选)
processBuilder.directory(new File("C:\\path\\to\\working\\directory"));
4.启动进程:
Process process = processBuilder.start();
5.读取进程输出:
BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream()));
String line;
while ((line = reader.readLine()) != null) {
System.out.println(line);
}
6.等待进程结束并获取退出码:
int exitCode = process.waitFor();
System.out.println("Process exited with code " + exitCode);
使用`Runtime.getRuntime().exec()`
`Runtime.getRuntime().exec()`
另一种启动进程的方法
但此方法不如`ProcessBuilder`灵活
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class RunExeWithRuntime {
public static void main(String[] args) {
// 指定要运行的 .exe 文件路径
String exePath = "C:\\path\\to\\your\\script.exe";
try {
// 启动进程
Process process = Runtime.getRuntime().exec(exePath);
// 读取进程的输出
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("Process exited with code " + exitCode);
} catch (IOException | InterruptedException e) {
e.printStackTrace();
}
}
}
代码说明
1.指定可执行文件路径:
String exePath = "C:\\path\\to\\your\\script.exe";
2.启动进程:
Process process = Runtime.getRuntime().exec(exePath);
3.读取进程输出
BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream()));
String line;
while ((line = reader.readLine()) != null) {
System.out.println(line);
}
4.等待进程结束并获取退出码:
int exitCode = process.waitFor();
System.out.println("Process exited with code " + exitCode);
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。


