Java调用pychon有两种方法,一种用Jychon,Jychon是一种完整的语言,它是pychon语言在Java中完全实现,Jychon不仅提供pychon库,也拥有所以的Java类, 但是使用Jpython调用的python库不是很多,运行加载慢,而当python的程序中使用到第三方库,则程序就会报错;第二种方法是使用 Runtime.getRuntime()执行脚本文件,这种方法相对简单。
1.首先在本地建立一个python(pychon3.6)脚本,命名为h.py,写了一个简单的通过java传参,经过pychon程序计算的两个数做加法的函数,并且保存在本地目录底下,代码如下:
# coding=utf-8
from sys import argv
num1 = argv[1]
num2 = argv[2]
sum = int(num1) + int(num2)
print(sum)
2.其次编写java程序,引入Runtime.getRuntime()调用pychon程序
import java.io.IOException;
import java.io.InputStream;
import java.io.DataInputStream;
public class Hello {
public static void main(String[] args) throws IOException, InterruptedException {
//pychon的环境路径
String exe = "python";
// 存储pychon脚本的存储路径
String command = "D:\\h.py";
// 定义传入Python脚本的命令行参数,将参数放入字符串数组里
String num1 = "20";
String num2 = "2";
String[] cmdArr = new String[] {exe, command, num1, num2};
//使用Runtime.getRuntime()方法去调用pychon程序
Process process = Runtime.getRuntime().exec(cmdArr);
//取得命令结果的输出流
InputStream is = process.getInputStream();
//声明输出流对象,将结果显示出来
DataInputStream dis = new DataInputStream(is);
String str = dis.readLine();
process.waitFor();
System.out.println(str);
}
}