Java执行命令行并在询问[Y / N]时始终替换

时间:2017-07-26 20:15:11

标签: java ffmpeg runtime runtime.exec

我在Java程序中调用java.lang.Runtime.exec(...)来运行命令,比如说:

ffmpeg -i input.mp4 output.mp4

这只是传递给我的函数来运行:

    private static void RunCommand(String command) throws InterruptedException {
        try {
            // Execute command
            Process proc = Runtime.getRuntime().exec(command);
}
}

一切都好。但我的问题是处理文件已存在的情况,因此询问是否应该替换它:

File 'output.avi' already exists. Overwrite ? [y/N]

忽略它的最简单方法是什么(总是假设 y 并替换)?也许通过代码中的Java或FFMPEG命令本身?

1 个答案:

答案 0 :(得分:1)

添加-y作为参数:

ffmpeg -y -i input.mp4 output.mp4

根据documentation

  • -y无需询问即覆盖输出文件。

  • -n不要覆盖输出文件,如果指定的输出文件已经存在,请立即退出。