在Java中,你可以使用ProcessBuilder
和Process
类来执行外部命令并获取输出结果。以下是一个简单的示例:
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class ExecExample {
public static void main(String[] args) {
try {
// 创建一个ProcessBuilder对象,传入要执行的命令和参数
ProcessBuilder processBuilder = new ProcessBuilder("your_command", "arg1", "arg2");
// 启动进程
Process process = processBuilder.start();
// 获取命令的输出流
InputStreamReader inputStreamReader = new InputStreamReader(process.getInputStream());
BufferedReader bufferedReader = new BufferedReader(inputStreamReader);
// 读取命令的输出结果
String line;
StringBuilder output = new StringBuilder();
while ((line = bufferedReader.readLine()) != null) {
output.append(line).append("\n");
}
// 关闭流
bufferedReader.close();
inputStreamReader.close();
// 等待进程执行完成
int exitCode = process.waitFor();
System.out.println("Command executed with exit code: " + exitCode);
// 输出命令的结果
System.out.println("Output: " + output.toString());
} catch (IOException e) {
e.printStackTrace();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
请将your_command
替换为你要执行的外部命令,将arg1
和arg2
替换为相应的参数。这个示例将执行命令并获取其输出结果,然后将其打印到控制台。注意,这个示例仅适用于Unix/Linux系统。如果你使用的是Windows系统,请将命令和参数更改为适用于Windows的命令和参数。