Runtime.getRuntime().exec()实现Java调用python程序

使用Runtime.getRuntime().exec()来实现Java调用python,调用代码如下所示:

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
 
public class Test2 {
 
    public static void main(String[] args) throws IOException, InterruptedException {
        System.out.println("start python");
        //需传入的参数
       // String a = "aaa", b = "bbb", c = "cccc", d = "dddd";
        //设置命令行传入的参数
        String[] arg = new String[]{"python", "pyfile/detect.py"};
        Process process = Runtime.getRuntime().exec(arg);
        
        BufferedReader in = new BufferedReader(new InputStreamReader(process.getInputStream()));  
        String line;  
 
        while ((line = in.readLine()) != null) {  
            line = decodeUnicode(line);  
            System.out.println(line);  
        }  
        in.close();  
        System.out.println("end");
        process.waitFor();
    }
}

 如果Runtime.getRuntime().exec()执行重定向命令方法,可以用下面的方法:

String path = "data/shell.sh";
String[] cmd = { "sh", "-c", "ls > ”+path }; 
Runtime.getRuntime().exec(cmd);

猜你喜欢

转载自www.cnblogs.com/heqiyoujing/p/10061007.html