gpt4 book ai didi

java - Process Builder 无法在 Windows 上运行

转载 作者:太空宇宙 更新时间:2023-11-04 07:09:01 25 4
gpt4 key购买 nike

我正在使用 Process Builder 在 Windows 上运行 ImageMagick 命令。由于某种原因,使用 Process Builder 大多数时候不会生成输出图像。当我使用 Runtime.getRuntime().exec 尝试相同的命令时,生成了输出。知道这是为什么吗?

String input="D:\\Koala.jpg";
String output = "D:\\ProcessBuilderOutput\\KoalaPNG.png";
commands.add("D:\\Program Files\\ImageMagick-6.8.6-Q16\\convert");
commands.add("-alpha off");
commands.add("-strip");
commands.add(input);
commands.add("-colorspace CMYK");
commands.add(output);
try{
executeProcessCommand(commands);
if(new File(output).exists() != true){
System.out.println("output not generated");
}
}catch (Exception e) {
e.printStackTrace();
}
public static void executeProcessCommand(List<String> commands) throws Exception {
Process proc = null;
try {
System.out.println("-executeProcessCommand: Trying to execute :- "+commands);
ProcessBuilder processBuilder = new ProcessBuilder(commands);
proc = processBuilder.start();
proc.waitFor();
System.out.println("- executeProcessCommand: Executed the command ");
} catch (Exception e) {
System.out.println(" - executeProcessCommand:" + e.getMessage());
} finally {
try {
if(proc != null)
proc.destroy();
} catch (Exception e) {
System.out.println("executeProcessCommand:"+ e.getMessage());
}
}
}

最佳答案

将参数拆分到 ProcessBuilder。特别是将 commands.add("-alpha off"); 拆分为

commands.add("-alpha");
commands.add("off");

commands.add("-colorspace CMYK"); 类似,

关于java - Process Builder 无法在 Windows 上运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20931001/

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