当然,一种需求的实现可能有很多种方式可以选择,经过筛选选择了使用Runtime对象执行脚本返回运行过程的方式,然后将返回的过程结果转换为流最后进行遍历输出。
在C盘下面创建一个hello_world.py文件作为python脚本的演示文件,填写内容为:
print("======================")
print("hello world")
print("======================")
编写java调用脚本:
package main_proj;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Main {
public static void main(String[] args) {
// 创建运行过程
Process proc;
try {
// 通过exec()函数执行python命令运行.py脚本,返回存储过程
proc = Runtime.getRuntime().exec("python C:\\hello_world.py");
// 将返回返回的运行过程转化为存储流
BufferedReader in = new BufferedReader(new InputStreamReader(proc.getInputStream()));
// 构建行数据对象
String line = null;
// 逐行读取、打印结果
while ((line = in.readLine()) != null) {
System.out.println(line);
}
// 关闭输入流
in.close();
proc.waitFor();
} catch (IOException e) {
e.printStackTrace();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
点击查看更多内容
为 TA 点赞
评论
共同学习,写下你的评论
评论加载中...
作者其他优质文章
正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦