温馨提示×

java怎么调用python脚本

小亿
114
2023-11-17 11:02:30
栏目: 编程语言

在Java中调用Python脚本有多种方法,下面介绍两种常用的方法:

  1. 使用ProcessBuilder类:
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Main {
    public static void main(String[] args) throws IOException {
        ProcessBuilder pb = new ProcessBuilder("python", "path/to/your/python/script.py");
        Process process = pb.start();

        BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream()));
        String line;
        while ((line = reader.readLine()) != null) {
            System.out.println(line);
        }

        int exitCode;
        try {
            exitCode = process.waitFor();
        } catch (InterruptedException e) {
            e.printStackTrace();
        }

        System.out.println("Python script exited with code: " + exitCode);
    }
}

这种方法通过创建一个ProcessBuilder对象来执行Python脚本,并读取Python脚本输出的结果。可以使用ProcessBuilderstart()方法来启动Python脚本,并使用getInputStream()方法获取脚本输出的结果。

  1. 使用Runtime类:
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Main {
    public static void main(String[] args) throws IOException {
        String command = "python path/to/your/python/script.py";
        Process process = Runtime.getRuntime().exec(command);

        BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream()));
        String line;
        while ((line = reader.readLine()) != null) {
            System.out.println(line);
        }

        int exitCode;
        try {
            exitCode = process.waitFor();
        } catch (InterruptedException e) {
            e.printStackTrace();
        }

        System.out.println("Python script exited with code: " + exitCode);
    }
}

这种方法通过调用Runtime类的exec()方法来执行Python脚本,并读取Python脚本输出的结果。可以将要执行的Python命令传递给exec()方法,并使用getInputStream()方法获取脚本输出的结果。

无论使用哪种方法,都可以通过读取Python脚本的输出来获取结果,并可以使用waitFor()方法等待脚本执行完毕,获取脚本的退出码。

0