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小时内删除。
发表评论