我试图在我的java程序中使用python脚本。如果在java之外运行,python将启动,然后等待事件,当事件发生时,执行某些操作,打印结果并退出。
当我尝试在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();
}发布于 2018-06-13 01:17:30
waitFor()绝对应该在read循环之后;stdin;stdout和stderr.https://stackoverflow.com/questions/50821390
复制相似问题