我试图在我的java程序中使用python脚本。 python,如果在java之外运行,则启动,然后等待事件,当事件发生时,执行某些操作,打印结果并退出。
当我尝试在Java中使用它时,它不会等待事件,而是立即以空响应退出。我怎么能等待脚本退出,所以挂起java程序直到它退出?
这是我正在测试的方法
public static String readRFID() throws IOException, InterruptedException {
ProcessBuilder pb = new ProcessBuilder("python", "/home/pi/MFRC522-python/Read.py");
Process p = pb.start();
BufferedReader br=new BufferedReader(
new InputStreamReader(
p.getInputStream()));
p.waitFor();
StringBuilder sb = new StringBuilder();
while(br.readLine() != null) {
sb.append(br.readLine());
}
return sb.toString();
}
答案 0 :(得分:0)
waitFor()
肯定在读取循环之后; stdin
;和stdout
和stderr
。