Chamar Script python no java

Olá, tenho um script python e queria chamar e executar ele quando clico em um botão no java

        String pythonPath = "python3"; // ou "python" dependendo do seu sistema...
        String scriptPath = "aqui vc coloca o caminho do arquivo";
        
        ProcessBuilder processBuilder = new ProcessBuilder(pythonPath, scriptPath);
        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();
        if (exitCode != 0) {
            System.out.println("Erro na execução do script Python.");
        }

isso basicamente vai chamar o script num terminal.

Vale a leitura desse artigo aqui, de 24 aninhos de idade: When Runtime.exec() won’t | InfoWorld

A moral da história é: disparou um processo, consuma TODOS seus streams de saída.

Outro artigo útil: https://www.baeldung.com/java-lang-processbuilder-api

1 curtida