ITPub博客

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

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

作者:karspb 时间:2019-10-10 13:22:04 0 删除 编辑

我用终端执行 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();

}

}

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/2001/viewspace-3169866/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2019-07-31

  • 博文量
    222
  • 访问量
    16821