У меня есть два файла, которые нужно указать в качестве входных данных, и я использую Java API инструмента Beyond Compare, чтобы проверить, является ли содержимое обоих файлов одинаковым или нет.
Я хочу сделать это, не открывая окно 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();
}
}
Как упоминалось здесь, введите здесь описание ссылки, использование /silent
не приведет к открытию окна. Несмотря на использование /silent
, я все еще вижу всплывающее окно инструмента Beyond Compare. Пожалуйста, предложите некоторые обходные пути для достижения того же
bcompare.exe /qc=binary file1.txt file2.txt
запустит двоичное сравнение двух файлов и вернет результат в виде кода выхода. Коды выхода и переключатели командной строки определены в разделе Справочник по командной строке файла справки Beyond Compare 4. - person Chris Kennedy   schedule 03.04.2017