使用 Process 和 Runtime 在Java中调用外部程序
Java包含通过简单的Java代码启动外部进程的功能——可执行文件或系统上的现有应用程序,例如 Google Chrome 或媒体播放器。一种方法是为此目的使用以下两个类:
- 进程类
- 运行时类
Java.lang 包中的 Process 类包含许多有用的方法,例如杀死子进程、使线程等待一段时间、返回子进程的 I/O 流等。随后,Runtime 类提供了与之交互的入口Java运行时环境。它包含执行进程、提供可用处理器数量、显示 JVM 中的可用内存等方法。
// A sample Java program (Written for Windows OS)
// to demonstrate creation of external process
// using Runtime and Process
class CoolStuff
{
public static void main(String[] args)
{
try
{
// Command to create an external process
String command = "C:\Program Files (x86)"+
"\Google\Chrome\Application\chrome.exe";
// Running the above command
Runtime run = Runtime.getRuntime();
Process proc = run.exec(command);
}
catch (IOException e)
{
e.printStackTrace();
}
}
}
Runtime.getRuntime() 只返回与当前Java应用程序关联的 Runtime 对象。可执行路径在进程 exec(String path) 方法中指定。我们还有一个 IOException try-catch 块来处理找不到要执行的文件的情况。运行代码时,计算机上会打开一个 Google Chrome 实例。
另一种创建外部进程的方法是使用 ProcessBuilder,在下面的帖子中已经讨论过Java中的 ProcessBuilder 创建一个基本的在线法官