编程小白@ 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日

悬赏问题

  • ¥15 gdf格式的脑电数据如何处理matlab
  • ¥20 重新写的代码替换了之后运行hbuliderx就这样了
  • ¥100 监控抖音用户作品更新可以微信公众号提醒
  • ¥15 UE5 如何可以不渲染HDRIBackdrop背景
  • ¥70 2048小游戏毕设项目
  • ¥20 mysql架构,按照姓名分表
  • ¥15 MATLAB实现区间[a,b]上的Gauss-Legendre积分
  • ¥15 Macbookpro 连接热点正常上网,连接不了Wi-Fi。
  • ¥15 delphi webbrowser组件网页下拉菜单自动选择问题
  • ¥15 linux驱动,linux应用,多线程