谁能帮我弄清楚为什么在从 java 程序中退出时,我会收到这个奇怪的错误:
diff: extra operand `file1'
diff: Try `diff --help' for more information.
我的 Java 代码如下所示:
Process p = Runtime.getRuntime().exec("diff --brief -I 'REGEXPATTERN' " + file1 + " " + file2);
p.waitFor();
其中 file1 和 file2 是有效文件。当我在常规 shell 中执行命令时,它工作正常。当我从 java 程序执行它时,我得到了那个错误。当我删除时该命令工作正常,-I 'REGEXPATTERN'
所以我认为它可能与 -I 标志有关。
为了得到上面提到的错误,我正在检查错误流,如下所示:
BufferedReader errorReader = new BufferedReader(new InputStreamReader(p.getErrorStream()));