gpt4 book ai didi

java - 使用 ProcessBuilder 运行 ImageMagick 命令

转载 作者:行者123 更新时间:2023-11-29 03:47:54 24 4
gpt4 key购买 nike

我正在尝试从 Java 类运行一个简单的 ImageMagick 命令,因为我只需要运行几个我认为不使用 Im4Java 的命令,我可以直接使用 ProcessBuilder.start()。我正在使用以下代码-

ProcessBuilder pb = new ProcessBuilder("convert","pic2.png","pic52.png");
pb.directory(new File("/user/gaurav_kl"));
pb.start();

但是我得到了错误IOException - 无法运行程序“转换”(在目录“/user/gaurav_kl”中):错误=2,没有这样的文件或目录可能是什么原因。当我从终端运行相同的命令时,它可以在任何目录中正常工作,因为 IM 已添加到类路径中

最佳答案

ProcessBuilder 在搜索命令可执行文件时的行为取决于系统/jvm。虽然您可能期望它使用与底层 shell(即 BASH)相同的逻辑,但在 documentation 中并不能保证这一点。 .

根据您(和其他人)的经验,最好提供完整的命令路径。例如:

String IMGK_PATH="/usr/local/magick/bin";
ProcessBuilder pb = new ProcessBuilder(IMGK_PATH + "/convert","pic2.png","pic52.png");
pb.directory(new File("/user/gaurav_kl"));
pb.start();

关于java - 使用 ProcessBuilder 运行 ImageMagick 命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10079098/

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