JAVA多线程执行cmd命令
来源:互联网 发布:内部即时通讯软件 编辑:程序博客网 时间:2024/05/17 04:22
package com.dtt.scm;import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import java.io.OutputStream;import java.io.OutputStreamWriter;import java.util.LinkedList;public class Command extends Thread{ private java.lang.Process p; private InputStream is; private OutputStream os; private BufferedWriter bw; private BufferedReader br; private ProcessBuilder pb; private InputStream stdErr; public Command() { } //获取Process的输入,输出流 public void setCmd(String cmd) { try { p = Runtime.getRuntime().exec(cmd); os = p.getOutputStream(); is = p.getInputStream(); stdErr = p.getErrorStream(); } catch (IOException e) { System.err.println(e.getMessage()); } } //向Process输出命令 public void writeCmd(String cmd) { try { bw = new BufferedWriter(new OutputStreamWriter(os)); bw.write(cmd); bw.newLine(); bw.flush(); bw.close(); } catch (Exception e) { e.printStackTrace(); } } //读出Process执行的结果 public String readCmd() { StringBuffer sb = new StringBuffer(); br = new BufferedReader(new InputStreamReader(is)); String buffer = null; try { while ((buffer = br.readLine()) != null) { sb.append(buffer + "\n"); } System.out.println(p.waitFor()); } catch (Exception e) { e.printStackTrace(); } return sb.toString(); } //将命令一股脑塞入list中 public LinkedList<String> doCmd(LinkedList<String> lists) { LinkedList<String> list = new LinkedList<String>(); for (String s : lists) { writeCmd(s); list.add(readCmd()); } return list; } public void run(){ Command cmd = new Command(); cmd.setCmd("cmd"); cmd.writeCmd("start cmd /k ping -a -t 43.248.133.79 -l 1000"); System.out.println(cmd.readCmd()); //LinkedList<String> list = new LinkedList<String>(); //list.add("dir/b"); //list = cmd.doCmd(list); //for(String s:list){ //System.out.print(s); } public static void main(String[] args) { Thread thr1 = new Command(); Thread thr2 = new Command(); thr1.start(); thr2.start(); }}
阅读全文
0 0
- JAVA多线程执行cmd命令
- java执行cmd命令
- java 执行 cmd 命令
- java执行CMD命令
- java 执行 cmd 命令
- java执行cmd命令
- java执行cmd命令
- JAVA执行cmd命令
- java执行cmd命令
- java 执行windows cmd命令
- JAVA 调用cmd执行命令
- java执行命令(cmd,shell)
- cmd java命令不能执行
- java执行命令(cmd,shell)
- java中执行cmd命令
- java执行cmd命令和linux命令
- java执行cmd命令和linux命令
- JAVA代码实现执行CMD命令
- 文章标题
- ajax下拉加载特效
- 【二叉树】计算二叉树深度【104. Maximum Depth of Binary Tree】【111. Minimum Depth of Binary Tree】
- 设计模式
- STL中的map容器的一点总结
- JAVA多线程执行cmd命令
- 【Linux】中TCP的四大定时器
- [NOIP2017模拟]流
- TLD算法的相关研究(1)
- 软件测试基本分类
- Array Partition I
- Android Parcelable数据异常(问题)
- angularjs学习总结 详细教程
- git 简单操作