我正在尝试运行cmd命令。一切正常但没有输出。我不明白为什么。 更新代码
import java.io.*;
import java.util.*;
class CmdTest {
public static void main(String[] args) throws Exception {
String command= "ffmpeg -i D:\\test%d.jpg -vcodec mpeg4 outfile.avi";
Process process;
System.out.println("first stmt");
try
{
process = Runtime.getRuntime().exec(command);
Scanner kb = new Scanner(process.getInputStream());
System.out.println("try block");
} catch (IOException e)
{
e.printStackTrace();
}
System.out.println("last stmt");
}
}
我期待执行上面提到的cmd命令。编译和执行过程中没有任何问题。但是,命令不执行写入。
答案 0 :(得分:0)
首先,您的代码应该给出错误,因为行Scanner kb = new Scanner(process.getInputStream());
将看不到进程。 process
在try-catch
内定义。
其次,你在ffmpeg -i D:\\test%d.jpg -vcodec mpeg4 outfile.avi
上试过了command window
吗?如果没有,试试吧。
第三,不要运行该命令,而是尝试运行一些简单的命令,如dir
,pwd
等。
第四,在代码中加入一些System.out.println("say something")
,然后你就可以看到它失败/停止的位置。