try {
Process p =Runtime.getRuntime().exec("chmod 777 /home/bomb/MoveToy/WebRoot/a.sh " );
p.waitFor(); Process pro = Runtime.getRuntime().exec(" /home/bomb/MoveToy/WebRoot/./a.sh " + num);
pro.waitFor();
System.out.println("run");
java.io.InputStream out = pro.getInputStream();
int i;
String a = "";
String b = "";
int n=0;
ArrayList<String> tmp = new ArrayList<String>() ;
while ((i = out.read()) != -1) {
char c=(char)i;
if(i==10)
{
//System.out.println(a);
tmp.add(a);
a="";
continue;
}
if(i!=13&&i!=10)
{ //System.out.println(n++ +" : "+c+" "+i);
a += c;
}
} int len=tmp.size();
//提取耗散值
String [] tmphaosan=new String [len];
for(i=0;i<len;i++)
{
tmphaosan[i]=tmp.get(i).split(" ")[1];
//System.out.println(tmp.get(i).split(" ")[1].split("\\n")[0]);
}
String ans="";
String anss="";
for(i=1;i<len;i++)
{
ans="";
String t1=tmp.get(i-1).split(" ")[0];
String t2=tmp.get(i).split(" ")[0];
for(int j=0;j<t1.length();j++)
{
//确保空格在后
if(t2.charAt(j)=='E')
{
//System.out.println(j+1+" "+t1.charAt(j)+" "+t2.charAt(j));
ans=(j+1)+","+ans;
}
if(t1.charAt(j)=='E')
{
ans+=(j+1);
ans+=",";
}
}
ans+=tmphaosan[i];
ans+=';';
anss+=ans;
}
//System.out.println(anss);
PrintWriter pw = response.getWriter();
pw.write(anss);
} catch (Exception e) {
System.out.println(num);
e.printStackTrace();
}

通过runtime类生成一个子进程,等待子线程执行完成。并且通过截获标准输出流来读取外部程序的输出内容。

java执行shell/cmd命令的更多相关文章

  1. paip.执行shell cmd 命令uapi java php python总结

    paip.执行shell cmd 命令uapi java php python总结 作者Attilax  艾龙,  EMAIL:1466519819@qq.com 来源:attilax的专栏 地址:h ...

  2. java 执行shell命令及日志收集避坑指南

    有时候我们需要调用系统命令执行一些东西,可能是为了方便,也可能是没有办法必须要调用.涉及执行系统命令的东西,则就不能做跨平台了,这和java语言的初衷是相背的. 废话不多说,java如何执行shell ...

  3. 利用java执行shell脚本

    BPMN中存在由系统执行的脚本任务,shell脚本任务也是该系统任务脚本中的一种,利用的也是由java执行shell脚本. 代码中的ProcessBuilder类,为java.lang.Process ...

  4. Java执行Shell脚本

    Linux 系统下采用 Java 执行 Shell 脚本,直接上代码: package com.smbea.demo; import java.io.BufferedReader; import ja ...

  5. Java执行shell脚本并返回结果两种方法的完整代码

    Java执行shell脚本并返回结果两种方法的完整代码 简单的是直接传入String字符串,这种不能执行echo 或者需要调用其他进程的命令(比如调用postfix发送邮件命令就不起作用) 执行复杂的 ...

  6. java 执行shell命令遇到的坑

    正常来说java调用shell命令就是用 String[] cmdAry = new String[]{"/bin/bash","-c",cmd} Runtim ...

  7. Android Java执行Shell命令

    最新内容建议直接访问原文:http://www.trinea.cn/android/android-java-execute-shell-commands/ 主要介绍Android或Java应用中如何 ...

  8. java执行Shell命令

    java程序中要执行linux命令主要依赖2个类:Process和Runtime首先看一下Process类:ProcessBuilder.start() 和 Runtime.exec 方法创建一个本机 ...

  9. 关于使用java执行shell脚本获取centos的硬盘序列号和mac地址

    1.获取硬盘序列号: 新建shell脚本文件: identifier.sh, 内容为: diskdata=`fdisk -l` diskleft=${diskdata#*"identifie ...

随机推荐

  1. C++开发安卓、windows下搭建Android NDK开发环境

    1. NDK(Native Development Kit) 1.1 NDK简介 Android NDK是一套允许开发人员使用本地代码(如C/C++)进行Android APP功能开发的工具,通过这个 ...

  2. 蚂蚁金服互联网IT运维体系实践

    摘要: 本文来自蚂蚁金服首席技术架构师,基础技术部负责人胡喜.从2010年支撑双十一最高交易峰值2万笔/分钟到2015年双十一的8.59万笔/秒,蚂蚁金服的技术架构和运维体系一直都在不断摸索和实践.本 ...

  3. PHP-PHP.INI常用配置详解

    variables_order: 假如为'GPCS'表示系统在定义PHP预定义变量时的顺序是GET,POST,COOKIES,SERVER, 此时$_ENV为空数组, 只要把'E'添加到'GPCS'后 ...

  4. PHP-多域名单点登陆方案

    1.只是二级域名不同(比如a.xx.com, b.xx.com) 利用cookie, 设置domain为".xx.com"即可 2.多个本域名都不相同(比如www.a.com, w ...

  5. js ie下有效 showModalDialog 、showModelessDialog

    <input type="button" value="打开选择输入框"/> <script type="text/javascri ...

  6. java 移位

    java中没有2进制的数据类型,对二进制的操作,需要使用三种操作符 << 左移位操作符,算数左移           用来将一个数的二进制位序列左移若干位,高位左移后溢出,舍弃不用,右补0 ...

  7. IntelliJ IDEA 14 拉取SVN maven 多模块项目 部署tomcat 详细图解!

    二话不说 进入主题 我们创建空项目实际上是项目空间 进入主界面 想用svn必须先启用它 选择Subversion 拉取 svn项目 你会发现这里检测不到目录 我们进入 File>Seting 里 ...

  8. 工作总结 Mapper.Map 映射 AutoMapper

    对象映射工具 //1.创建映射规则  ,第一个参数为源实体(Model),第二个为目标实体(DTO) Mapper.CreateMap<studentSource, studentPurpost ...

  9. pythonl练习笔记——threading线程中的事件Event

    1 事件Event 使用方法:e = threading.Event() Event对象主要用于线程间通信,确切地说是用于主线程控制其他线程的执行. Event事件提供了三个方法:wait等待.cle ...

  10. select函数的并发限制和 poll 函数应用举例

    一.用select实现的并发服务器,能达到的并发数,受两方面限制 1.一个进程能打开的最大文件描述符限制.这可以通过调整内核参数.可以通过ulimit -n来调整或者使用setrlimit函数设置,  ...