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. 〖Linux〗VirtualBox修改虚拟电脑硬盘(vdi)空间大小

    1. 查看需要修改的虚拟硬盘: [scue@Link:tftpserver]$ vboxmanage list hdds UUID: 79d65850--40c3-a8e7-715b199d1673 ...

  2. S3 服务(Simple Storage Service简单存储服务) 简介(与hdfs同一级)

    图1  spark 相关 亚马逊云存储之S3(Simple Storage Service简单存储服务) (转 ) S3是Simple Storage Service的缩写,即简单存储服务.亚马逊的名 ...

  3. 捕获Chrome浏览器全屏退出事件

    参考地址 document.addEventListener("fullscreenchange", function(e) { console.log("fullscr ...

  4. C#线程访问winform窗体控件

    参考地址:http://www.cnblogs.com/jason-liu-blogs/archive/2012/09/08/2677008.html 添加: public Form() { Init ...

  5. 【laravel54】详解中间件

    1.中间件定义:对http请求进行一层过滤,通过过滤才能继续执行请求 2.中间件方法handle方法参数详解: 其中参数的形式可以有多个,使用[,]进行分割. 3.路由中使用中间件: 3.1 中间件使 ...

  6. mysql中innodb和myisam的区别

    InnoDB和MyISAM是很多人在使用MySQL时最常用的两个表类型,这两个表类型各有优劣,5.7之后就不一样了 1.事务和外键 InnoDB具有事务,支持4个事务隔离级别,回滚,崩溃修复能力和多版 ...

  7. 《Python数据分析》-Ch01 Python 程序库入门

    Ch01 Python 程序库入门   1.1 一些简要介绍: NumPy 是一个基础性的Python库,为我们提供了常用的数值数组和函数. SciPy是Python的科学计算库,对NumPy的功能进 ...

  8. Jsp应用EL和JSTL实例对比。

    普通方式: register.jsp <%@ page language="java" import="java.util.*" pageEncoding ...

  9. OpenSSH的RSA/DSA密钥认证系统

    OpenSSH的RSA/DSA密钥认证系统,它可以代替OpenSSH缺省使用的标准安全密码认证系统. OpenSSH的RSA和DSA认证协议的基础是一对专门生成的密钥,分别叫做私用密钥和公用密钥. 使 ...

  10. js完美的div拖拽实例代码

    方案一: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3 ...