在 JAVA 中使用 ProcessBuilder 我可以运行简单的终端命令,如 ls、pwd、echo 等。但是下面的代码正在终止,不知道为什么?
public static void main(String[] args) throws Exception
{
Runtime r = Runtime.getRuntime();
Process p = r.exec("echo 'T W O N E I G H T' | /home/saj/g2p/mosesdecoder-master/bin/moses -f /home/saj/g2p/working/binarised-model/moses.ini");
p.waitFor();
BufferedReader b = new BufferedReader(new InputStreamReader(p.getInputStream()));
String line = "";
while ((line = b.readLine()) != null)
{
System.out.println(line);
}
}
此命令在终端上运行良好,大约需要 15 秒才能运行并提供输出。我在 stackoverflow 上浏览过类似的主题,但没有找到任何帮助。请在这方面提供帮助。提前致谢。