为此,我使用“ EM Total Video Converter命令行2.43”,其命令为 “ C:\ EM TVCC > TVCC -f E:\ TestVideo \ 01.avi -o E:\ OutputFiles \ target.3gp”
我在站点http://www.rgagnon.com/javadetails/java-0014.html上有一个执行命令行exe文件的程序,该文件是:
您可以包括要执行的程序的路径。在Win平台上,如果路径包含空格,则需要将路径用引号引起来。
public class Test { public static void main(String[] args) throws Exception { Process p = Runtime.getRuntime().exec( "\"c:/program files/windows/notepad.exe\""); p.waitFor(); } }
如果需要传递参数,则对String数组来说更安全,尤其是当它们包含空格时。
String[] cmd = { "myProgram.exe", "-o=This is an option" }; Runtime.getRuntime().exec(cmd);
如果使用启动命令,并且要启动的文件的路径包含空格,则必须为启动命令指定标题。
String fileName = "c:\\Applications\\My Documents\\test.doc"; String[] commands = {"cmd", "/c", "start", "\"DummyTitle\"",fileName}; Runtime.getRuntime().exec(commands);
有人可以帮助我在代码中添加上述命令吗?我不知道将命令添加到上述代码中的语法规则。请帮助我。
这是我正在使用的确切的Java代码:
public class Test { public static void main(String[] args) throws Exception { String[] cmd = { "C:\\Program Files\\E.M. TVCC\\TVCC.exe", "-f C:\\Program Files\\E.M. TVCC\\01.avi", "-o C:\\Program Files\\E.M. TVCC\\target.3gp" }; Process p = Runtime.getRuntime().exec(cmd); p.waitFor(); } }
您已经解决了所有问题。这只是将所有内容放在一起的问题。
诸如此类的事情应该起作用:
public class Test { public static void main(String[] args) throws Exception { String[] cmd = { "C:\\E.M. TVCC\\TVCC.exe", "-f E:\\TestVideo\\01.avi", "-o E:\\OutputFiles\\target.3gp" }; Process p = Runtime.getRuntime().exec(cmd); p.waitFor(); } }
就是说,这样的硬编码路径不是一个好主意,您应该从某个地方读取它们。程序的参数,属性文件等。