我正在运行la脚以在MP3中转换WAV声音,并作为控制台应用程序执行:

ProcessBuilder pb = new ProcessBuilder(new String[]{"lame", "in.wav", "out.mp3", "-b", "128"});
Process p = pb.start();
try {
    p.waitFor();
} catch (InterruptedException ie) {
    logger.error("Error calling lame", ie);
}


当我读取输出时,“正常”输出为空,但是err具有值。这是一个执行错误,或者me脚将所有输出都输出为err

最佳答案

再见在终端中运行该命令,然后将stdout和stderr重定向到其他文件。然后,您将知道它的去向:

lame in.wav out.mp3 -b 128 1>stdout 2>stderr

10-01 19:02