- 52
- 0
我的项目要使用webp的图片格式,因为我是新手,因此在网上没有找到可以直接使用java库来转换图片格式位webp,但是google提供了linux下可以运行的转换工具,所以我打算使用linux命令来操作这个工具,问题是,我在我的项目中如何调用linux命令? 我在网上找了一些资料,很多资料显示,要使用Runtime.getRuntime.exec()指令,可是我用此指令,顶多就是执行“java -version"的时候没有出错,其他的都不能执行,比如执行“cd /data/web:”进入某一个文件夹目录的指令,就失败了,执行“mvn -version”指令也是不成功。针对这个情况,我有以下问题:
- java如何有效的执行linux的命令?
- java如何获知程序执行命令时所在的文件夹目录?
- 针对我要执行linux服务器上“/data/web/libwebp-linux/bin/”目录下的的cwebp程序,该如何写相关代码?
有没有人能告诉我怎么解决这个问题,在下实在感激涕零。
- 共 0 条
- 全部回答
-
无力落地旳苍白。; 普通会员 1楼
在Java中,你可以使用java.net.URL类来获取Linux命令,然后使用ProcessBuilder类来执行这个命令。以下是一个简单的示例:
```java import java.io.BufferedReader; import java.io.InputStreamReader; import java.net.URL;
public class Main { public static void main(String[] args) throws Exception { String url = "http://yourlinuxcommand.com"; // 你的Linux命令 String command = url + " convert -ovf your.webp image.jpg"; // 将image.jpg转换为webp
Process process = Runtime.getRuntime().exec(command); BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream())); String line; while ((line = reader.readLine()) != null) { System.out.println(line); } reader.close(); }} ```
在这个示例中,你需要将"yourlinuxcommand.com"替换为你的Linux命令,将"image.jpg"替换为你的webp文件名。
注意:这个示例假设你的Linux命令可以执行并返回一个输出流。如果你的命令需要返回一个结果,你可能需要使用ProcessBuilder的build()`方法来构建一个进程,并使用结果流来处理返回的值。
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部
