Java调用所在服务器上的shell命令的示例代码
时间: 2024-09-09 13:03:07 浏览: 84
java调用shell命令.pdf
在Java中,我们可以使用`Runtime`或`ProcessBuilder`类来执行系统级别的Shell命令。这里提供一个基本的例子,使用`Runtime.getRuntime().exec()`来运行Linux或Mac的bash命令:
```java
import java.io.BufferedReader;
import java.io.InputStreamReader;
public class ShellCommandExample {
public static void main(String[] args) {
try {
// 要执行的Shell命令
String command = "ls -l"; // 查看当前目录下的文件列表
// 创建Runtime实例
Process process = Runtime.getRuntime().exec(command);
// 获取进程的输入和输出流
BufferedReader stdInput = new BufferedReader(new InputStreamReader(process.getInputStream()));
BufferedReader stdError = new BufferedReader(new InputStreamReader(process.getErrorStream()));
// 输出命令的标准输出
System.out.println("标准输出:");
String line;
while ((line = stdInput.readLine()) != null) {
System.out.println(line);
}
// 输出错误信息
System.out.println("标准错误:");
while ((line = stdError.readLine()) != null) {
System.out.println(line);
}
// 等待进程完成
int exitCode = process.waitFor();
System.out.printf("命令返回码: %d%n", exitCode);
} catch (Exception e) {
System.err.println("执行命令出错: " + e.getMessage());
}
}
}
```
这段代码会打印出执行`ls -l`命令的结果和任何错误信息。注意这只是一个基础示例,实际应用中可能需要处理更复杂的情况,如异常处理、命令结果解析等。
阅读全文