执行指定的 Java 源文件

    /**
     * 执行指定的 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();
        }
    }
posted @ 2025-03-07 17:02  漠孤烟  阅读(10)  评论(0)    收藏  举报