利用Apache Commons Exec调用命令行并取得命令行的输出(实例)

http://blog.csdn.net/ligaoyang/article/details/8029020
public String ping(String ip) {

        try {

            String command = "ping "+ip;

            ByteArrayOutputStream outputStream = new ByteArrayOutputStream();

            ByteArrayOutputStream errorStream = new ByteArrayOutputStream();

            CommandLine commandline = CommandLine.parse(command);

            DefaultExecutor exec = new DefaultExecutor();

            exec.setExitValues(null);

            PumpStreamHandler streamHandler = new PumpStreamHandler(outputStream,errorStream);

            exec.setStreamHandler(streamHandler);

            exec.execute(commandline);

            String out = outputStream.toString("gbk");

            String error = errorStream.toString("gbk");

            return out+error;

        } catch (Exception e) {

            log.error("ping task failed.",e);

            return e.toString();

        }

    }

猜你喜欢

转载自panyongzheng.iteye.com/blog/2153382