Java进程等待进程退出
我试图在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();
}
# 1 楼答案
waitFor()
应该肯定在读循环之后李>stdin
;及stdout
和stderr
李>