Когда я пытаюсь выполнить Beyond compare exe.ProcessBuilder не работает, когда я передаю аргумент за пределами сравнения
Я не в состоянии передать аргумент для левой и правой стороны файла
public static void exceutecmd() throws ServletException, IOException {
boolean is64bit = false;
if (System.getProperty("os.name").contains("Windows")) {
is64bit = (System.getenv("ProgramFiles(x86)") != null);
} else {
is64bit = (System.getProperty("os.arch").indexOf("64") != -1);
}
String bin = "C:\\Optum Symmetry Suite\\Symmetry 9.1\\bin";
String File1 = " C:\\Optum Symmetry Suite\\Symmetry 9.1\\bin\\1.TXT";
String File2 = " C:\\Optum Symmetry Suite\\Symmetry 9.1\\bin\\2.TXT";
System.out.println(bin);
String exe = bin;
//String configfile = defaultsvaluesSym.get("xml file path");
//System.out.println(configfile);
StringBuilder sbd = new StringBuilder();
if (is64bit) {
exe = File.separator + "/BC2.exe";
} else {
exe = File.separator + "/BC2.exe";
}
****ProcessBuilder builder = new ProcessBuilder("cmd.exe", "/c", "cd \""
+ bin + "\" && \"" + bin + exe +"\"",File1,File2);****
builder.redirectErrorStream(true);
Process p = null;
try {
p = builder.start();
} catch (IOException e) {
e.printStackTrace();
}
BufferedReader r = new BufferedReader(new InputStreamReader(
p.getInputStream()));
String line = null;
while (true) {
try {
line = r.readLine();
sbd.append(line);
} catch (IOException e) {
e.printStackTrace();
}
if (line == null) {
break;
}
}
System.out.println(sbd.toString());
}
Я могу выполнить запредельное сравнивать ехе, но не в состоянии передать аргумент.
Пожалуйста, помогите мне решить этот вопрос
Спасибо Кучма, я нашел ответ – Karthick