Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

java执行python代码

作者:穹上之月   发布日期:2025-11-05   浏览:38

import java.io.BufferedReader;
import java.io.InputStreamReader;

public class JavaExecPython {
    public static void main(String[] args) {
        try {
            // 创建一个ProcessBuilder对象,用于启动Python解释器并执行Python代码
            ProcessBuilder pb = new ProcessBuilder("python", "script.py");
            Process process = pb.start();

            // 获取Python脚本的输出
            BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream()));
            String line;
            while ((line = reader.readLine()) != null) {
                System.out.println(line);
            }

            // 等待Python脚本执行完毕,并获取退出状态码
            int exitCode = process.waitFor();
            System.out.println("Exit Code: " + exitCode);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

解释说明:

  1. ProcessBuilder: 用于创建和配置进程。在这个例子中,我们使用它来启动Python解释器并执行一个名为script.py的Python脚本。
  2. Process: ProcessBuilder.start()返回一个Process对象,表示启动的子进程。通过这个对象可以与子进程进行交互。
  3. BufferedReader: 用于读取Python脚本的标准输出。我们将Python脚本的输出逐行读取并打印到Java控制台。
  4. waitFor(): 等待Python脚本执行完毕,并返回其退出状态码。如果脚本正常结束,退出状态码通常为0。

确保在运行此Java程序之前,script.py文件存在于当前工作目录中,并且系统上已正确安装了Python解释器。

上一篇:如何运行java文件

下一篇:java list.contains

大家都在看

java连接数据库的代码

java djl

ubuntu 卸载java

java读取excel中的图片

java新建

java sort用法

java collections.sort

java file类的方法

java发送qq邮件

java 判断

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站