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

陈野
2023-12-01

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();

        }

    }
官方教程参考: http://commons.apache.org/exec/tutorial.html
 类似资料: