/**
* 执行指定的 Java 源文件
*
* @param sourceFilePath Java 源文件路径
*/
public static void executeJavaSourceFile(String sourceFilePath) {
try {
// 构建命令:java <sourceFilePath>
ProcessBuilder processBuilder = new ProcessBuilder("java", sourceFilePath);
processBuilder.redirectErrorStream(true); // 将标准错误流合并到标准输出流
// 启动进程
Process process = processBuilder.start();
// 读取进程的输出
InputStream inputStream = process.getInputStream();
BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream));
String line;
while ((line = reader.readLine()) != null) {
System.out.println(line); // 打印输出
}
// 等待进程结束
int exitCode = process.waitFor();
System.out.println("进程结束,退出码: " + exitCode);
} catch (IOException | InterruptedException e) {
e.printStackTrace();
}
}