首页 >Java >java教程 >如何在Java中启动外部进程?

如何在Java中启动外部进程?

DDD
DDD原创
2024-11-17 21:55:02631浏览

How to Launch External Processes in Java?

在 Java 中启动外部进程

在 .NET 框架中,启动进程是使用 System.Diagnostics.Process.Start("processname") 来实现的。这允许用户轻松启动其系统上可用的任何可执行文件。但是我们如何在 Java 中实现相同的功能呢?

Java 进程调用

Java 提供了 Runtime.exec() 方法来启动外部进程。它将命令作为字符串参数并返回表示正在运行的进程的 Process 对象。与 .NET 的 Process.Start() 类似,Runtime.exec() 允许用户独立于操作系统启动应用程序。

代码示例

要演示 Java 中的进程调用,请考虑以下内容code:

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.nio.file.Paths;

public class CmdExec {

  public static void main(String[] args) {
    try {
      // Get the path to 'tree.com' (which displays the directory tree)
      String treePath = Paths.get(System.getenv("windir"), "system32", "tree.com").toString();

      // Start the 'tree.com' process
      Process p = Runtime.getRuntime().exec(treePath);

      // Read and print the output of the process
      BufferedReader input = new BufferedReader(new InputStreamReader(p.getInputStream()));
      String line;
      while ((line = input.readLine()) != null) {
        System.out.println(line);
      }

    } catch (Exception err) {
      err.printStackTrace();
    }
  }
}

此脚本演示如何启动外部进程(在本例中为tree.com)并捕获其输出。无论操作系统如何,该进程都会启动,使其成为一个可移植的解决方案。

其他资源

有关 Java 中进程调用的更多信息,请参阅:

  • [关于 Runtime.exec() 的 Java 文档](http://www.rgagnon.com/javadetails/java-0014.html)
  • [在 Java 中检索系统属性](http://download.oracle .com/javase/tutorial/essential/environment/sysprop.html)

以上是如何在Java中启动外部进程?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn