Java程序去调用并执行shell脚本及问题总结(推荐)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)

Java程序调用并执行shell脚本及问题总结 Java程序调用并执行shell脚本是Java开发中非常重要的一部分,特别是在文本处理过程中。Java开发的特点是可以很早地进行TDDL,METAQ等等的对接,而脚本开发的特点是可以在进行批处理的时候非常方便。 在实际开发中,我们可能会遇到一些问题,例如,如何将抓取的数据进行打包,如何通过脚本进行抓取,如何解决java调用shell脚本时的权限问题等等。 本文将详细介绍Java程序如何调用并执行shell脚本,并总结了一些常见的问题解决方法。 一、 Java调用shell脚本的方法 Java可以通过ProcessBuilder或Runtime的方式来调用shell脚本。 ProcessBuilder是一种比较直观的方法,参数的设置也比较方便。例如: ```java ProcessBuilder pb = new ProcessBuilder("./" + RUNNING_SHELL_FILE, param1, param2, param3); pb.directory(new File(SHELL_FILE_DIR)); int runningStatus = 0; String s = null; try { Process p = pb.start(); try { runningStatus = p.waitFor(); } catch (InterruptedException e) { } } catch (IOException e) { } if (runningStatus != 0) { } return; ``` 而Runtime的方式比较暴力,也比较常用: ```java p = Runtime.getRuntime().exec(SHELL_FILE_DIR + RUNNING_SHELL_FILE + " "+param1+" "+param2+" "+param3); p.waitFor(); ``` 二、 可能存在的问题 1. 权限问题 在实际开发中,我们可能会遇到权限问题,例如,没权限运行shell脚本。这时,我们可以通过ProcessBuilder来授权: ```java ProcessBuilder builder = new ProcessBuilder("/bin/chmod", "755", tempFile.getPath()); Process process = builder.start(); int rc = process.waitFor(); ``` 2. 缓冲区溢出 在shell脚本中,如果有echo或者print输出,可能会导致缓冲区溢出。为了避免这种情况,需要把缓冲区读一下: ```java BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream())); String line; while ((line = reader.readLine()) != null) { System.out.println(line); } ``` 三、总结 Java程序调用shell脚本是非常常见的需求,但是在实际开发中,我们可能会遇到一些问题。通过ProcessBuilder或Runtime的方式可以调用shell脚本,但需要注意权限问题和缓冲区溢出问题。通过本文,我们可以了解到Java程序如何调用并执行shell脚本,并解决一些常见的问题。





















- fengshi0082022-10-28资源内容总结的很到位,内容详实,很受用,学到了~

- 粉丝: 5
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 网站项目管理规范手册.doc
- 模式识别及其在图像处理中的应用.doc
- 项目管理—如何搞好竣工结算.doc
- 人口健康信息化实践与总体规划培训课件.pptx
- 主机网络存储维保服务技术方案.docx
- XMSinaSwift-Swift资源
- 综合布线系统设计模板样本.doc
- 乐购网络商业街创业计划书.docx
- 广告创意与表现课程基于网络考核方案.doc
- HP虚拟化计算技术解决方案.doc
- 网络建设项目解决方案.doc
- 微软招聘过程与经验(1).ppt
- 嵌入式课程设计学生信息管理系统.doc
- 网络信息辨真伪活动方案.doc
- 【推荐】郭秀花--医学大数据分析策略与数据挖掘.ppt
- 毕业设计装卸料小车多方式运行的PLC控制系统设计.doc


