java调用执行linux命令报错

问题描述

java.io.IOException: Cannot run program "cd /data/ffmpeg/bin": error=2, 没有那个文件或目录

问题出现的环境背景及自己尝试过哪些方法

我用pwd出来的目录就是这个,linux机器上是有的,

相关代码

// 请把代码文本粘贴到下方(请勿用图片代替代码)

Process p;
        try {
            p = Runtime.getRuntime().exec(new String[]{"cd /data/ffmpeg/bin","-c","./ffmpeg -i "+audioUrl});
    //            p = Runtime.getRuntime().exec("ping -c 3 www.baidu.com");
            p.waitFor();
            BufferedReader reader = new BufferedReader(new InputStreamReader(p.getInputStream()));
            String line = "";            
            while ((line = reader.readLine())!= null) {
                output.append(line);
                LOG.info("返回时间"+line);
            }
        } catch (Exception e) {
            e.printStackTrace();
        }

你期待的结果是什么?实际看到的错误信息又是什么?

阅读 6.2k
1 个回答

报错显示没有这个文件夹,在shell脚本里面加上文件夹创建的命令就可以了。
在shell脚本上加上一条创建文件夹的脚本。

p = Runtime.getRuntime().exec(new String[]{"mkdir /data/ffmpeg/bin"});
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题