java使用ProcessBuilder类如何与命令行交互
时间: 2023-04-04 22:02:40 浏览: 273
窗体与命令行交互,希望对你有帮助。
ProcessBuilder类可以通过调用start()方法来启动一个进程,并且可以通过调用process对象的getInputStream()、getOutputStream()、getErrorStream()方法来获取进程的标准输入、输出和错误输出流。通过标准输入流,可以向进程发送命令行参数或者输入数据,通过标准输出流和错误输出流,可以获取进程的输出信息和错误信息。可以使用BufferedReader和PrintWriter等类来读取和写入数据。例如,可以使用以下代码与命令行交互:
```
ProcessBuilder pb = new ProcessBuilder("cmd.exe");
Process p = pb.start();
BufferedReader br = new BufferedReader(new InputStreamReader(p.getInputStream()));
PrintWriter pw = new PrintWriter(new OutputStreamWriter(p.getOutputStream()));
pw.println("dir");
pw.flush();
String line;
while ((line = br.readLine()) != null) {
System.out.println(line);
}
```
这段代码启动了一个cmd.exe进程,并向其发送了一个dir命令,然后读取了进程的输出信息并打印到控制台上。
阅读全文