Java执行CMD指令

代码如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
public void execute(String command) {
        System.out.println("Execute the command is: " + command);
        if (null == command || "".equals(command)) {
            return;
        }
        InputStream in = null;
        InputStream error = null;
        InputStreamReader isrIn = null;
        BufferedReader brIn = null;
        InputStreamReader isrError = null;
        BufferedReader brError = null;
        StringBuffer sb = new StringBuffer();
        boolean flag = false;
        try {
            Runtime rt = Runtime.getRuntime();
            System.out.println(System.getProperty("user.home"));
            //在指定的目录下执行
            Process pro = rt.exec(command, null, new File(System.getProperty("user.home")));
            in = pro.getInputStream();
            error = pro.getErrorStream();
            isrIn = new InputStreamReader(in);
            brIn = new BufferedReader(isrIn);
            isrError = new InputStreamReader(error);
            brError = new BufferedReader(isrError);
            System.out.println("Input Message");
            String line = brIn.readLine();
            while (null != line) {
                System.out.println(line);
                line = brIn.readLine();
            }

            line = brError.readLine();
            while (null != line) {
                System.out.println(line);
                line = brError.readLine();
            }
        } catch (IOException e) {
            StringWriter sw = new StringWriter();
            e.printStackTrace(new PrintWriter(sw));
            System.out.println(sw.toString());
        } finally {
            try {
                brIn.close();
                isrIn.close();
                in.close();
                brError.close();
                isrError.close();
                error.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }

完事,mark一下。