java 之ProcessBuilder 执⾏系统命令
转⾃:blog.csdn/yasha009/article/details/52051629
可以使⽤java 中的ProcessBuilder 执⾏本地命令或脚本等⼯作:
以下是⼀个简单的使⽤java 调⽤本地python 脚本的例⼦。从某⼯程代码中整理出来的,未封装,仅供参考。JAVA 代码:
python转java代码附:
在JavaSE5之前使⽤Runtime 的exec ⽅法执⾏本地命令.在JavaSE5之后,可以使⽤ProcessBuilder 执⾏本地命令.⼀篇不错的介绍ProcessBuilder 的⽂章:[java]
01. List<String> commands=new  ArrayList();    02. commands.add("python");    03. commands.add(pkg);    04. commands.add("--ad=test");    05. //...其它参数添加    06. processBuildermand(commands);    07. processBuilder.directory(path);//切换⼯作⽬录    08. directErrorStream(true );    09. Process process = processBuilder.start();    10. StringBuilder result = new  StringBuilder();    11. final  BufferedReader reader = new  BufferedReader(new  InputStream()));    12. try  {    13.        String line; 
  14.        while  ((line = adLine()) != null ) {    15.            result.append(line);    16.            LOGGER.info(processBuildermand().toString() + " --->: " + line);    17.        }    18. } catch  (IOException e) {    19.        LOGGER.warn("failed to read output from process", e);    20. } finally  {    21.        IOUtils.closeQuietly(reader);    22. }    23. process.waitFor();    24. int  exit = itValue();    25. if  (exit != 0) {    26.    throw  new  IOException("failed to execute:" + processBuildermand() + " with result:" + result);    27. } else  {    28.    return  exit;    29. }

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。