您的位置 首页 java

Java调用外部程序

ProcessBuilder类是J2SE 1.5在 Java .lang中新添加的一个新类,此类用于创建操作系统进程,它提供一种启动和管理进程(也就是应用程序)的方法。在J2SE 1.5之前,都是由Process类处理实现进程的控制管理。每个 ProcessBuilder 实例管理一个进程属性集。它的start() 方法利用这些属性创建一个新的Process实例。start() 方法可以从同一实例重复调用,以利用相同的或相关的属性创建新的子进程。

以java调用 python 为例

 @SneakyThrows
public static void main(String[] args){
     process Builder processBuilder = new ProcessBuilder();
    processBuilder.command(List.of("H:\Program Files\python3.7\python.exe", "I:\ideaProject\paddle\main.py"));
    processBuilder.redirectErrorStream(true);
    Process process = processBuilder.start();
    @Cleanup
     inputStream  inputStream = process.getInputStream();
    BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream));
    String line;
    while ((line = bufferedReader.readLine()) != null) {
        if (line.startsWith("[{'data':")) {
            System.out.println(line.substring(0,line.lastIndexOf("}]"))+"}]");
             break ;
        }
    }
    int exitCode = process.waitFor();
    System.out.println("exitCode = "+exitCode);
}  

运行效果

文章来源:智云一二三科技

文章标题:Java调用外部程序

文章地址:https://www.zhihuclub.com/186620.shtml

关于作者: 智云科技

热门文章

发表回复

您的电子邮箱地址不会被公开。

网站地图