编程小白@ 2023-06-25 11:30 采纳率: 93.9%
浏览 16
已结题

JAVA调用Python接口,Python端先return一个信息,再继续执行后续代码

JAVA端的一个函数A调用Python端的一个函数B,B先return给A一个信息,再继续执行B后面的代码,请问有什么思路么,或者有什么库可以实现么

  • 写回答

2条回答 默认 最新

  • MarkHan_ 2023-06-25 11:54
    关注
    
    import java.io.BufferedReader;
    import java.io.IOException;
    import java.io.InputStreamReader;
    
    public class Main {
        public static void main(String[] args) {
            try {
                // 创建ProcessBuilder对象,指定要执行的Python脚本和参数
                ProcessBuilder pb = new ProcessBuilder("python", "path/to/your/python_script.py");
                // 启动子进程
                Process process = pb.start();
    
                // 获取子进程的标准输入流
                BufferedReader in = new BufferedReader(new InputStreamReader(process.getInputStream()));
                // 获取子进程的标准输出流
                BufferedReader out = new BufferedReader(new InputStreamReader(process.getOutputStream()));
    
                // 调用Python函数B并传递参数
                out.write("your_input_data\n");
                out.flush();
    
                // 读取Python函数B返回的信息
                String info = in.readLine();
                System.out.println("Received info from Python: " + info);
    
                // 继续执行后续代码
                System.out.println("Continue executing...");
    
                // 关闭流和进程
                in.close();
                out.close();
                process.waitFor();
            } catch (IOException | InterruptedException e) {
                e.printStackTrace();
            }
        }
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 7月3日
  • 已采纳回答 6月25日
  • 修改了问题 6月25日
  • 创建了问题 6月25日