从Java调用Unix命令

时间:2011-10-11 11:06:09

标签: java unix grep exec pipe

如何通过从Java程序中调用该命令来执行Unix grep程序来搜索一组文件中的模式?

2 个答案:

答案 0 :(得分:4)

您可以使用Runtime.exec

public Process exec(String[] cmdarray,
                    String[] envp,
                    File dir)
                    throws IOException
     

在具有指定环境和工作目录的单独进程中执行指定的命令和参数。

编辑:正如Joachim和andypandy所指出的,ProcessBuilder具有更灵活的界面,如果您在JDK7或更高版本上运行,则提供对设置子流程文件描述符的支持。

  

启动使用默认工作目录和环境的新流程很简单:

 Process p = new ProcessBuilder("myCommand", "myArg").start();

答案 1 :(得分:0)

查看java.lang.Runtime#exec和java.lang.ProcessBuilder的javadoc。