Java process类
时间: 2023-10-23 15:11:55 浏览: 96
process.JAVA
Java中的Process类是用于控制操作系统进程的类。它允许Java程序执行外部命令并与其进行交互。
通过Process类,你可以启动一个新的进程并执行外部命令。你可以使用Runtime类的exec()方法或ProcessBuilder类来创建一个Process对象。一旦你有了Process对象,你就可以使用它来获取进程的输入流、输出流和错误流,以便与进程进行通信。
以下是一个简单的示例代码,演示如何使用Process类执行外部命令并读取其输出:
```java
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
public class ProcessExample {
public static void main(String[] args) {
try {
// 执行命令
Process process = Runtime.getRuntime().exec("ping www.google.com");
// 获取命令执行的输出流
InputStream inputStream = process.getInputStream();
BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream));
String line;
while ((line = reader.readLine()) != null) {
System.out.println(line);
}
// 等待命令执行完毕
int exitCode = process.waitFor();
System.out.println("Command exited with code: " + exitCode);
} catch (IOException e) {
e.printStackTrace();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
```
上述代码中,我们使用了Runtime.getRuntime().exec()方法来执行"ping www.google.com"命令,并使用Process对象的getInputStream()方法获取命令执行的输出流。然后我们使用BufferedReader逐行读取输出流的内容,并打印出来。最后,我们使用process.waitFor()方法等待命令执行完毕,并获取命令的退出码。
请注意,使用Process类执行外部命令时需要注意处理输入流和错误流,以免导致进程阻塞或消耗过多资源。
阅读全文