我jhead
用来检查图像是否设置了方向标志,如果是,则旋转它并设置 exif 信息以指示它在查看时不需要旋转。在命令行上它看起来像:
jhead -autorot 'IMG_3680.JPG'
我试图用ProcessBuilder
我的java应用程序在我正在查看的图像上调用它,但它用于jpegtran
执行实际的图像旋转。这两个应用程序都可以从命令行正常工作,并且位于/opt/local/bin
我的 Mac 上。
我不断得到:
sh: jpegtran: command not found
Error : Problem executing specified command
in file '/images/IMG_3681.JPG'
我的代码是:
public static void main(String[] args) throws Exception {
File[] files = (new File("/images")).listFiles();
for (File file : files){
ProcessBuilder pb = new ProcessBuilder("jhead", "-autorot", file.getAbsolutePath());
pb.redirectOutput(Redirect.INHERIT);
pb.redirectError(Redirect.INHERIT);
Process p = pb.start();
}
}
我是否需要提供提示ProcessBuilder
才能jhead
打电话jpegtran
?