java执行shell指令
时间: 2023-09-06 12:07:05 浏览: 164
Java可以通过执行shell指令来调用外部命令。可以使用Java的Runtime类或ProcessBuilder类来执行shell指令。
下面是使用Runtime类执行shell指令的示例代码:
```java
import java.io.*;
public class ShellCommand {
public static void main(String[] args) {
try {
// 执行ls命令
String command = "ls";
Process process = Runtime.getRuntime().exec(command);
// 读取命令输出结果
BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream()));
String line;
while ((line = reader.readLine()) != null) {
System.out.println(line);
}
// 等待命令执行完成
process.waitFor();
} catch (IOException | InterruptedException e) {
e.printStackTrace();
}
}
}
```
使用ProcessBuilder类执行shell指令的示例代码:
```java
import java.io.*;
public class ShellCommand {
public static void main(String[] args) {
try {
// 执行ls命令
String[] command = {"ls"};
ProcessBuilder builder = new ProcessBuilder(command);
Process process = builder.start();
// 读取命令输出结果
BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream()));
String line;
while ((line = reader.readLine()) != null) {
System.out.println(line);
}
// 等待命令执行完成
process.waitFor();
} catch (IOException | InterruptedException e) {
e.printStackTrace();
}
}
}
```
这两种方法都可以执行shell指令,但是ProcessBuilder类提供了更多的控制选项,比如设置工作目录,环境变量等。
阅读全文