gpt4 book ai didi

java - 当我将参数传递给无法比较时,ProcessBuilder 不工作

转载 作者:行者123 更新时间:2023-11-30 02:57:57 24 4
gpt4 key购买 nike

当我尝试执行 Beyond Compare exe 时。

我无法传递左侧和右侧文件的参数

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());

}

我能够执行 Beyond Compare exe,但无法传递参数。

请帮我解决问题

最佳答案

删除命令中的“cd”部分。您正在使用完整路径调用程序并传递参数的完整路径。

exe = File.separator + "/BC2.exe";

不需要字符“/”,因为您已经添加了 File.separator。

关于java - 当我将参数传递给无法比较时,ProcessBuilder 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36744880/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com