在java中使用命令行运行python
程序卡在了p2.waitFor()(我在前后用打印字符串进行了测试) 并且在java中使用命令行运行python,java,python,process,sumo,Java,Python,Process,Sumo,程序卡在了p2.waitFor()(我在前后用打印字符串进行了测试) 并且simulation.py是 import os os.system('cmd /c "sumo -c Simulation.sumocfg --duration-log.statistics --log duration.txt) simulation.py本身运行良好。当我在java中将命令放入simulation.py时,我遇到了同样的问题 System.out.println(行)打印出“成功”,然后
simulation.py
是
import os
os.system('cmd /c "sumo -c Simulation.sumocfg --duration-log.statistics --log duration.txt)
simulation.py
本身运行良好。当我在java中将命令放入simulation.py
时,我遇到了同样的问题
System.out.println(行)代码>打印出“成功”,然后一无所获
我省略了simulation.py
中的代码,该代码保存了一个文件,java在p2.wait()
之后读取该文件,如果没有p2.wait()
,该文件将永远不会更改。您有
BufferedReader输入=新的BufferedReader(新的InputStreamReader(p.getInputStream())代码>
但是你需要
BufferedReader输入=新的BufferedReader(新的InputStreamReader(p2.getInputStream())代码>
由于p已经完成,bufferedreader将等待,但不会接收任何内容。线程是否卡在无限循环中<当BufferedReader
达到EOF
时,code>line
仅为null
,这真的有意义吗<代码>新的InputStreamReader(p.getInputStream())
。在我看来,p
已经完成了。
import os
os.system('cmd /c "sumo -c Simulation.sumocfg --duration-log.statistics --log duration.txt)