如何在java中执行命令行.exe文件

  1. 我想使用java程序将avi文件转换为3gp。
  2. 为此,我正在使用“EM Total Video Converter Command Line 2.43”,它的命令是
    “C:\ EM TVCC> TVCC -f E:\ TestVideo \ 01.avi -o E:\ OutputFiles \ target.3gp”
  3. 我有一个程序在网站http://www.rgagnon.com/javadetails/java-0014.html执行命令行exe文件,这是:

可执行文件的路径,其中包含空格

您可以包含要执行的程序的路径。 在Win plateform上,如果路径包含空格,则需要将路径放在引号中。

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); 

如果使用start命令并且要启动的文件的路径包含空格,则必须为start命令指定标题。

 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\\EM TVCC\\TVCC.exe", "-f C:\\Program Files\\EM TVCC\\01.avi", "-o C:\\Program Files\\EM 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:\\EM TVCC\\TVCC.exe", "-f E:\\TestVideo\\01.avi", "-o E:\\OutputFiles\\target.3gp" }; Process p = Runtime.getRuntime().exec(cmd); p.waitFor(); } } 

也就是说,像这样的硬编码路径不是一个好主意,你应该从某个地方读取它们; 程序的参数,属性文件等。

在某些情况下,您希望能够执行以下操作: – 如果挂起,请终止exe。 – 能够中止exe。 – 获取exe输出(到标准输出和标准错误) – 异步运行它。 您可以在以下url阅读解决方案: http : //developer4life.blogspot.co.il/2013/01/executing-command-line-executable-from.html