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

汪栋
2023-12-01
[url]http://blog.csdn.net/ligaoyang/article/details/8029020[/url]
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();

}

}
 类似资料: