如何使用Beyond Compare java api检查两个文件是否具有相同的内容?

时间:2017-03-30 08:52:24

标签: java beyondcompare4

我有两个文件作为输入,我使用Beyond Compare工具Java API检查两个文件中的内容是否相同。

我想在不打开Beyond Compare窗口的情况下执行此操作。以下是我目前使用的代码。

//  /settings.gradle
include ':app', ':lib'

//  /app/build.gradle
depencency {
    compile project(':lib')
}

如此处enter link description here所述,使用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(); } } 将无法打开窗口。尽管使用/silent,我仍然可以看到Beyond Compare工具弹出的窗口。请建议一些解决方法来实现相同的

1 个答案:

答案 0 :(得分:1)

我通过稍微更改传递给Process Builder的参数来满足我的要求。以下是我所做的改变。

ProcessBuilder processBuilder = new ProcessBuilder("C:\\Program Files\\Beyond Compare 4\\BCompare.exe",
        "file1path", "file2path","/fv=Text Compare", "/qc=binary");

这对我有用。