Java在指定路径下执行cmd命令的方法

目前状态:毕业设计ing

背景:

做毕设时,由于需要将python的运行效果展示出来,所以使用了Java写了一个前端的界面。但是在使用Java对python的脚本进行调用时就尴尬了,出错……
这里也许有人会疑问了,为什么不使用Django呢,就我个人而言吧,对Django使用的不是很熟悉,尽管它很方便,然而我学习过一年的企业级应用开发,索性就使用了Java进行开发。

问题:

开始想着在maven的pom.xml中配置一个python的接口直接调用已经封装好的python脚本,结果尴尬了,调用一般的文件都没问题,唯独对我封装的cmd命令出错,希望大神解答……

PythonInterpreter interpreter = new PythonInterpreter();
interpreter.execfile("E:/Java_project/Covid_19/src/main/Runing.py");
import os
import  time
os.system('python detect.py --data-cfg data/rbc.data --cfg cfg/yolov3-tiny.cfg --weights weights/best.pt')

在这里插入图片描述
在这里插入图片描述

解决:

尝试了很多次,无果。索性跳出这个方法的限制,于是询问了老友月小水长(欢迎关注哈,干货满满的一位博主且具有丰富的开发经验)。他告诉我:跨语言调用会出现很多的错误;并给了我一些建议……
但是我还是想尝试使用Java的方式,最后使用Runtime.getRuntime().exec()方法解决了

Runtime.getRuntime().exec("参数1",null,
                new File("参数2"));

解释:

参数1的位置为命令;
参数2的位置为执行命令的具体路径;
例如你想在: C:\Users\huzixuan\Desktop\DataSet的路径下执行: hello.py文件就可以这样写

Runtime.getRuntime().exec("python hello.py",null,
                new File("C:\Users\huzixuan\Desktop\DataSet"));

由于笔者能力有限,在表述上可能有些欠缺,还请多多包涵…………

posted @ 2022-05-11 16:40  陶陶Name  阅读(601)  评论(0编辑  收藏  举报