从 Java 调用 Unix 命令

发布于 12-08 23:44 字数 68 浏览 0 评论 0原文

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

How do I execute the Unix grep program to search for patterns in a set of files by calling that command from inside a Java program?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

我的痛♀有谁懂2024-12-15 23:44:41

您可以使用 Runtime.exec< /代码>

public Process exec(String[] cmdarray,
                    字符串[]环境变量,
                    文件目录)
                    抛出 IOException

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

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

启动一个使用默认工作目录和环境的新进程很容易:

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

You can use Runtime.exec

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

Executes the specified command and arguments in a separate process with the specified environment and working directory.

EDIT: As Joachim and andypandy point out, ProcessBuilder has a more flexible interface, and if you're running on JDK7 or later provides support for setting up sub-process file descriptors.

Starting a new process which uses the default working directory and environment is easy:

 Process p = new ProcessBuilder("myCommand", "myArg").start();
睫毛溺水了2024-12-15 23:44:41

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

Check out the javadoc for java.lang.Runtime#exec and java.lang.ProcessBuilder.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文