这不是我第一次尝试从 Java 执行系统命令。但这一次证明是非常困难的。我有一个可以从终端正常执行的脚本。它从文件 (input.txt) 读取输入,对其进行处理并将结果导出到另一个文件 (ouput.txt)。整个过程持续不超过1秒。但是,当我尝试从 Java 执行它时,它会卡住并且永远不会完成。这是我的代码:
Process p = new ProcessBuilder("./runCalculator.sh").start();
p.waitFor();
我也试过,Runtime.getRuntime().exec("./runCalculator.sh")
但都一样。我已经阅读了进程的 InputStream 和 ErrorStream 。错误流只返回一条消息,例如“开始计算...”
有任何想法吗?