为了账号安全,请及时绑定邮箱和手机立即绑定

Java终端执行和代码执行命令生成的文件不一样?

Java终端执行和代码执行命令生成的文件不一样?

汪汪一只猫 2018-08-08 11:14:07
我用终端执行 lame -b 16 /java/5/a.wav 生成的是缩小的a.mp3文件 , 是正确的,但是我用Java代码Process p=run.exec("lame -b 16 /java/5/a.wav");生成的文件是a.mp3 但是生成的也是a.mp3,但是好像是文本,不是mp3文件 而且是0kb为什么?源码public static void main(String[] args) {String localhost_dir = "";Runtime run = null;try {run = Runtime.getRuntime();//调用解码器来将wav文件转换为mp3文件Process p=run.exec("lame /java/5/a.wav"); // lame 你的.wav文件//释放进程p.getOutputStream().close();p.getInputStream().close();p.getErrorStream().close();p.waitFor();} catch (Exception e) {e.printStackTrace();}finally{//最后都要执行的语句//run调用lame解码器最后释放内存run.freeMemory();}}
查看完整描述

1 回答

?
侃侃尔雅

TA贡献1801条经验 获得超15个赞

p.waitFor(); 放 p.getOutputStream().close(); 之前试试


查看完整回答
反对 回复 2018-08-23
  • 1 回答
  • 0 关注
  • 567 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信