Java 调用Linux 命令行
时间: 2024-01-28 21:03:43 浏览: 108
你可以使用Java中的Runtime类或ProcessBuilder类来调用Linux命令行。
下面是使用Runtime类来执行Linux命令的示例代码:
```java
try {
// 执行 command 命令
String command = "ls -l";
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);
}
// 等待命令执行完成
int exitCode = process.waitFor();
System.out.println("Exited with error code " + exitCode);
} catch (IOException e) {
e.printStackTrace();
} catch (InterruptedException e) {
e.printStackTrace();
}
```
上面的代码将执行`ls -l`命令并输出结果。
使用ProcessBuilder类也可以达到同样的效果。以下是使用ProcessBuilder类执行Linux命令的示例代码:
```java
try {
// 执行 command 命令
ProcessBuilder processBuilder = new ProcessBuilder("ls", "-l");
Process process = processBuilder.start();
// 获取命令输出结果
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("Exited with error code " + exitCode);
} catch (IOException e) {
e.printStackTrace();
} catch (InterruptedException e) {
e.printStackTrace();
}
```
这里使用了ProcessBuilder类来创建一个进程,然后执行`ls -l`命令。通过进程的输入输出流来获取命令执行的结果。
阅读全文