java部分
// An highlighted block
import java.io.BufferedReader;
import java.io.InputStreamReader;
public class MyDemo1 {
public static void main(String[] args) {
try {
System.out.println("start");
String para1="time";
String para2="sfdjk";
String[] args1=new String[]{"D:\\python\\python27\\python","D:\\work\\workspace\\fingerprintDatabase\\src\\main\\python\\test.py",para1,para2};
Process pr = Runtime.getRuntime().exec(args1);
BufferedReader in = new BufferedReader(new InputStreamReader(
pr.getInputStream()));
String line;
while ((line = in.readLine()) != null) {
System.out.println(line);
}
in.close();
pr.waitFor();
System.out.println("end");
} catch (Exception e) {
e.printStackTrace();
}
}
}
python部分
// An highlighted block
# coding:utf-8
import numpy as np
import sys
if __name__ == '__main__':
a = np.ones(3)
print(a)
print '恭喜您!java调用python代码成功'
print '脚本名为:%s'%(sys.argv[0])
print '传入的参数为:'
for i in range(1, len(sys.argv)):
print '参数:%s'%(sys.argv[i])
运行结果
//D:\Java\jdk1.8.0_181\bin\java.exe ...
start
[1. 1. 1.]
恭喜您!java调用python代码成功
脚本名为:D:\work\workspace\fingerprintDatabase\src\main\python\test.py
传入的参数为:
参数:time
参数:sfdjk
end
Process finished with exit code 0