我有两个文件作为输入,我正在使用Beyond Compare tool Java API检查这两个文件中的内容是否相同。
我希望在不打开Beyond Compare窗口的情况下执行此操作。下面是我目前使用的代码。
ProcessBuilder processBuilder = new ProcessBuilder("C:\\Program Files\\Beyond Compare 4\\BCompare.exe",
"file1path", "file2path","/qc=bin", "\silent");
Process ps;
try {
ps = processBuilder.start();
OutputStream os = ps.getOutputStream();
os.close();
InputStream inputStream = ps.getInputStream();
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream));
for (String line = bufferedReader.readLine(); line != null; line = bufferedReader.readLine()) {
}
ps.waitFor();
System.out.println("Exit value :" + ps.exitValue());
} catch (IOException e) {
e.printStackTrace();
} catch (InterruptedException e) {
e.printStackTrace();
}
}正如这里提到的enter link description here,使用/silent不会打开窗口。尽管使用了/silent,我仍然可以看到Beyond Compare工具的弹出窗口。为了达到同样的效果,请给出一些建议
发布于 2017-04-11 19:46:16
我通过稍微更改传递给Process Builder的参数来满足我的要求。下面是我所做的更改。
ProcessBuilder processBuilder = new ProcessBuilder("C:\\Program Files\\Beyond Compare 4\\BCompare.exe",
"file1path", "file2path","/fv=Text Compare", "/qc=binary");这对我很有效。
https://stackoverflow.com/questions/43112932
复制相似问题