加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

如何正确的使用groovy调用外部程序

发布时间:2020-12-14 16:58:25 所属栏目:大数据 来源:网络整理
导读:class StreamConsumer extends Thread{ ??? def inStream ??? def buf ??? public StreamConsumer(def input){ ??????? inStream = input ??????? buf = new StringBuffer() ??? } ? ??? public void run(){ ??????? def reader = new BufferedReader(new In
class StreamConsumer extends Thread{ ??? def inStream ??? def buf ??? public StreamConsumer(def input){ ??????? inStream = input ??????? buf = new StringBuffer() ??? } ? ??? public void run(){ ??????? def reader = new BufferedReader(new InputStreamReader(inStream)) ??????? reader.eachLine{ buf.append(it).append('/n')} ??? } } ? class Exec{ ??? static def doCommand(def cmd){ ??????? Process proc = Runtime.getRuntime().exec(cmd) ??????? def error = new StreamConsumer(proc.getErrorStream()) ??????? def input = new StreamConsumer(proc.getInputStream()) ??????? input.start() ??????? error.start() ??????? proc.waitFor() ??????? input.join() ??????? error.join() ??????? return [ ??????????? "stdout":input.buf?.toString().trim(),??????????? "stderr":error.buf?.toString().trim(),??????????? ] ??? } } def cmd = 'dir ' def result = Exec.doCommand(cmd); println result 具体的解释请参考 When Runtime.exec() won't http://www.javaworld.com/javaworld/jw-12-2000/jw-1229-traps.html?page=3

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读