Runtime.getRuntime().exec()實現Java呼叫python程式
阿新 • • 發佈:2018-12-03
使用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);