2011-09-03 145 views
1

我试图使执行系统命令一个小Java程序,但我似乎无法弄清楚系统命令 - Java的

现在的问题是如何一个使用Java执行系统命令?

更新:我读了文档&尝试了一些例子&我仍然无法弄清楚。为什么不能像C那样简单。

+0

[如何从java程序中调用系统命令]可能的副本(http://stackoverflow.com/questions/2693740/how-to-call-system-commands-from-a-java-program) –

+0

As我在答复中说过,对于简单的情况来说,确实很简单。如果你想要做更复杂的事情,也许你需要解释一下更复杂的用例实际上是什么? –

回答

2

最终,您在java.lang.Runtime类中使用exec()方法的家族。有一个名为java.lang.ProcessBuilder的类可以帮助建立一个运行过程,尽管你没有义务使用它。请务必阅读this classic article处理输入和输出流,运行Windows CMD.EXE内置函数和其他潜在的陷阱。

运行命令可以像说

Runtime.exec("notepad"); 

但作为文章指出,有很多微妙之处担心的那样简单。

+0

我做了一个小测试:Runtime.exec(“ls”),当我编译它给出了一个关于非静态方法的错误,无法从静态持续引用 –

+0

@Samantha Catania请尝试'Runtime.getRuntime()。exec (命令);'。 – Howard

1

阿帕奇Commons-Exec类似于ProcessBuilder,但有助于避免大量的与流,流程超时,平台的差异,等等常见的问题。我推荐使用它来代替ProcessBuilder