java执行shell/cmd命令
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命令的更多相关文章
- paip.执行shell cmd 命令uapi java php python总结
paip.执行shell cmd 命令uapi java php python总结 作者Attilax 艾龙, EMAIL:1466519819@qq.com 来源:attilax的专栏 地址:h ...
- java 执行shell命令及日志收集避坑指南
有时候我们需要调用系统命令执行一些东西,可能是为了方便,也可能是没有办法必须要调用.涉及执行系统命令的东西,则就不能做跨平台了,这和java语言的初衷是相背的. 废话不多说,java如何执行shell ...
- 利用java执行shell脚本
BPMN中存在由系统执行的脚本任务,shell脚本任务也是该系统任务脚本中的一种,利用的也是由java执行shell脚本. 代码中的ProcessBuilder类,为java.lang.Process ...
- Java执行Shell脚本
Linux 系统下采用 Java 执行 Shell 脚本,直接上代码: package com.smbea.demo; import java.io.BufferedReader; import ja ...
- Java执行shell脚本并返回结果两种方法的完整代码
Java执行shell脚本并返回结果两种方法的完整代码 简单的是直接传入String字符串,这种不能执行echo 或者需要调用其他进程的命令(比如调用postfix发送邮件命令就不起作用) 执行复杂的 ...
- java 执行shell命令遇到的坑
正常来说java调用shell命令就是用 String[] cmdAry = new String[]{"/bin/bash","-c",cmd} Runtim ...
- Android Java执行Shell命令
最新内容建议直接访问原文:http://www.trinea.cn/android/android-java-execute-shell-commands/ 主要介绍Android或Java应用中如何 ...
- java执行Shell命令
java程序中要执行linux命令主要依赖2个类:Process和Runtime首先看一下Process类:ProcessBuilder.start() 和 Runtime.exec 方法创建一个本机 ...
- 关于使用java执行shell脚本获取centos的硬盘序列号和mac地址
1.获取硬盘序列号: 新建shell脚本文件: identifier.sh, 内容为: diskdata=`fdisk -l` diskleft=${diskdata#*"identifie ...
随机推荐
- Eclipse 如何导入MyEclipse的项目
Eclipse 如何导入MyEclipse的项目 CreateTime--2018年3月8日09:53:55 Author:Marydon 1.Eclipse导入MyEclipse的项目方法,跟导 ...
- spring mvc自定义数据转换
@InitBinder 在controller中注册一个customer protperty editor以解析request中的参数并通过date bind机制与handler method中的 ...
- xml DTD中的ELEMENT和ATTLIST
是W3C的一个文档类型定义规则文件,是用来让浏览器根据你定义的DTD(文档类型定义)来解释页面代码的. doctype声明指出阅读程序应该用什么规则集来解释文档中的标记.在Web文档的情况下,“阅读程 ...
- SQL Union作用
动态构造一个SQL语句然后执行,构造动态语句的查询语句如下 SELECT REPLACE(WMSYS.WM_CONCAT(STR),',',' UNION ') FROM (SELECT 'SELEC ...
- Xshell和Xftp5配置连接阿里云服务器
配置Xftp5 配置成功后 配置Xshell 记住用户名和密码 连接成功
- HDUOJ----John
John Time Limit: 5000/1000 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others)Total Submis ...
- C++知识整理(进制)
++输出二进制.十进制.八进制和十六进制总结 分类: C++ 2013-01-14 02:26 592人阅读 评论(0) 收藏 举报 在C++中,默认状态下,数据按十进制输入输出.如果要求按八进制或十 ...
- 【LeetCode】34. Search for a Range
Search for a Range Given a sorted array of integers, find the starting and ending position of a give ...
- WordPress网站搬家的问题
老邢的博客搬家全过程(wordpress搬家知识总结) 网站搬家过程中的几个问题 WordPress网站搬家的方法 WORDPRESS.ORG - zh-cn:WordPress 博客搬家 ...
- Python max() 函数
描述 max() 函数返回给定参数的最大值,参数可以为序列. 语法 以下是 max() 函数的语法: max( x, y, z, .... ) 参数 x -- 数值表达式. y -- 数值表达式. z ...