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块来处理没有找到要执行的文件的情况。运行该代码时,计算机上会打开一个谷歌浏览器的实例。
创建外部进程的另一种方法是使用ProcessBuilder,这在下面的文章中已经讨论过了。在Java中使用ProcessBuilder来创建一个基本的在线法官