方法一:
public static void main(String[] args) { InputStream ins = null; String[] cmd = new String[]{ "cmd.exe", "/C", "ipconfig" }; try { Process process = Runtime.getRuntime().exec(cmd); // cmd 的信息 ins = process.getInputStream(); BufferedReader reader = new BufferedReader(new InputStreamReader( ins)); String line = null; while ((line = reader.readLine()) != null) { // 输出 System.out.println(line); } int exitValue = process.waitFor(); System.out.println("返回值:" + exitValue); // 关闭 process.getOutputStream().close(); } catch (Exception e) { e.printStackTrace(); } 方法二: class StreamDrainer implements Runnable { private InputStream ins; public StreamDrainer(InputStream ins) { this.ins = ins; } public void run()
{ try { BufferedReader reader = new BufferedReader(new InputStreamReader(ins)); String line = null; while ((line = reader.readLine()) != null) { System.out.println(line); } } catch (Exception e) { e.printStackTrace(); } } } public class CMD { public static void main(String[] args) { // String[] cmd = new String[] { "cmd.exe", "/C", // "wmic process get name" }; String[] cmd = new String[] { "cmd.exe", "/C", "ipconfig" }; try { Process process = Runtime.getRuntime().exec(cmd); new Thread(new StreamDrainer(process.getInputStream())).start(); new Thread(new StreamDrainer(process.getErrorStream())).start(); process.getOutputStream().close(); int exitValue = process.waitFor(); System.out.println("返回值:" + exitValue); } catch (Exception e) { e.printStackTrace(); } } } |
|