Runtime.exec
时间: 2024-12-18 18:32:24 浏览: 4
Runtime.exec()是Java语言中的一个内置方法,它属于java.lang.Runtime类的一部分。这个方法允许你在Java程序中直接执行操作系统命令,通常用于执行外部应用程序、脚本或者获取进程输出。当你调用Runtime.exec(String command)时,会启动一个新的进程来运行指定的命令,并返回一个Process对象,你可以通过这个对象获取执行结果,如标准输入输出和进程状态。
例如:
```java
try {
Process process = Runtime.getRuntime().exec("ls -l");
BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream()));
String line;
while ((line = reader.readLine()) != null) {
System.out.println(line);
}
int exitCode = process.waitFor();
System.out.println("Exit code: " + exitCode);
} catch (IOException | InterruptedException e) {
e.printStackTrace();
}
```
在这个例子中,我们执行了一个列出目录内容的Linux命令"ls -l",并读取了其输出。
相关问题
Runtime. exec
`Runtime.exec()` 方法是 Java 中用于执行操作系统命令的方法。它允许 Java 应用程序启动另一个进程并与其进行通信。
`Runtime.exec()` 方法有多种重载形式,它们允许您指定要执行的命令及其参数,并指定如何处理进程的输出和错误流。
例如,以下代码将在 Windows 系统上执行 `dir` 命令,并将命令的输出打印到控制台:
```java
Process process = Runtime.getRuntime().exec("cmd /c dir");
try (BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream()))) {
String line;
while ((line = reader.readLine()) != null) {
System.out.println(line);
}
}
```
在上面的代码中,`Runtime.getRuntime().exec("cmd /c dir")` 会执行一个新的进程,该进程将运行 `cmd /c dir` 命令。使用 `BufferedReader` 从进程的输出流中读取数据,并将其打印到控制台上。注意,在读取完输出流之后,我们需要调用 `Process.waitFor()` 方法等待进程完成其执行。
runtime.exec
`Runtime.getRuntime().exec()` 方法是 Java 中用于执行外部程序的方法。它可以在 Java 程序中调用其他应用程序或命令行命令。该方法返回一个 Process 对象,可以用来控制调用的程序的执行和获取输出结果。常用的用法是执行系统命令,例如在运行程序时打开一个文件夹或文件。
需要注意的是,在这种情况下,您需要对系统命令进行足够的验证,以防止恶意攻击或误用。
阅读全文