Java执行命令输出是指在Java程序中执行系统命令并获取其输出结果。Java提供了通过Runtime类或ProcessBuilder类来执行外部命令的方法。
1. 使用Runtime类执行命令:
`java
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class CommandExecution {
public static void main(String[] args) {
try {
// 执行命令
Process process = Runtime.getRuntime().exec("命令");
// 获取命令输出
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("命令执行结果:" + exitCode);
} catch (IOException | InterruptedException e) {
e.printStackTrace();
}
}
}
`
在上述代码中,通过Runtime.getRuntime().exec("命令")执行系统命令,并通过process.getInputStream()获取命令的输出流。然后使用BufferedReader读取输出流的内容,并逐行打印。最后使用process.waitFor()等待命令执行完成,并获取命令的退出码。
2. 使用ProcessBuilder类执行命令:
`java
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.List;
public class CommandExecution {
public static void main(String[] args) {
try {
// 构建命令
List
// 执行命令
ProcessBuilder processBuilder = new ProcessBuilder(command);
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("命令执行结果:" + exitCode);
} catch (IOException | InterruptedException e) {
e.printStackTrace();
}
}
}
`
在上述代码中,通过ProcessBuilder类构建命令,然后使用start()方法执行命令。其余部分与使用Runtime类执行命令的代码相同。
以上是Java执行命令输出的基本示例。根据具体需求,可以根据命令的不同进行参数传递、错误处理等操作。需要注意处理命令执行过程中可能出现的异常情况,如命令不存在、权限不足等。