未经允许,禁止转载!!!

package practice;

import java.io.BufferedReader;
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader; public class cmdadb { public void executeCMDconsole(String cmd) {
//此方法为打印日志到控制台!!!!!!!!!!!!
//此方法跑成功!!! System.out.println("在cmd里面输入"+cmd);
Process p;
try {
p = Runtime.getRuntime().exec(cmd);
System.out.println(":::::::::::::::::::开始在控制台打印日志::::::::::::::::::::::>>>>>>");
//p.waitFor();
BufferedReader bReader=new BufferedReader(new InputStreamReader(p.getInputStream(),"gbk"));
String line=null;
while((line=bReader.readLine())!=null)
System.out.println(line);
} catch (IOException e) {
e.printStackTrace();
}
} public String executeCMDfile(String[] cmmands, String logToFile, String dirTodoCMD ) throws IOException {
//此方法为輸出日志到指定文件夹!!!!!!!!!!!!
//此方法跑成功!!!
//如果 String cmmand 那麼 String cmmand = "adb logcat -v time > d:/adb.log";
//String[] cmmands 所以 String commands[] = { "adb", "logcat","-v","time"};
//String logToFile 將日誌保存到logToFile
//String dirTodoCMD 在dirTodoCMD執行cmd命令
//由于將日志輸出到文件裡面了,就不能再将日誌輸出到console了 try {
ProcessBuilder builder = new ProcessBuilder(cmmands);
if (dirTodoCMD != null)
builder.directory(new File(dirTodoCMD));
builder.redirectErrorStream(true);
builder.redirectOutput(new File(logToFile));
Process process = builder.start();
process.waitFor();
// 得到命令执行后的结果
InputStream is = process.getInputStream();
BufferedReader buffer = new BufferedReader(new InputStreamReader(is, "gbk"));
String line = null;
StringBuffer sbBuffer = new StringBuffer();
while ((line = buffer.readLine()) != null) {
sbBuffer.append(line);
} is.close();
return sbBuffer.toString();
} catch (Exception e) {
e.printStackTrace();
}
return null;
} public static void main(String[] args) throws IOException {
//String cmd="D:/Android/android-sdk-windows/platform-tools/adb logcat -v time";
//String cmd2="adb devices";
//String cmd3="adb logcat -v time";
//String cmd4="adb logcat -v time > d:/adb.log";
cmdadb adbc = new cmdadb();
adbc.executeCMDconsole("adb logcat -v time");
String commands[] = { "adb", "logcat","-v","time"};
adbc.executeCMDfile(commands, "D:/adb.logs", "C:/Users/wb-cjz286752");
//System.out.println(result);由于將日志輸出到文件裡面了,就不能再将日志輸出到console了
} }

java调用执行cmd命令的更多相关文章

  1. java中执行cmd命令

    一.java执行cmd命令的三种方式:http://www.jb51.net/article/80829.htm 参考:https://www.cnblogs.com/zhufu9426/p/7928 ...

  2. JAVA之执行cmd命令

    感言在前:时隔好久没有更新博客园了,忙东忙西也没忙出个什么之所以然来.回首过去一两个月,只能用“疲倦”两个字来形容,而且是身心疲惫.每天11.12个小时的工作我都没觉得烦,但是总是想克服却又很难克服的 ...

  3. Java程序执行cmd命令

    import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.i ...

  4. java调用执行cmd指令启动weblogic

    这里的例子是启动weblogic import java.io.BufferedReader; import java.io.IOException; import java.io.InputStre ...

  5. Java 调用并执行cmd命令

    cmd java 调用 执行 概要: Java 调用并执行cmd命令 Java | 复制 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 2 ...

  6. 如何使用Java执行cmd命令

    用JAVA代码实现执行CMD命令的方法! Runtime rt = Runtime.getRuntime(); Process p = rt.exec(String[] cmdarray);     ...

  7. java执行cmd命令并获取输出结果

    1.java执行cmd命令并获取输出结果 import java.io.BufferedReader; import java.io.InputStreamReader; import org.apa ...

  8. Java执行cmd命令、bat脚本、linux命令,shell脚本等

    1.Windows下执行cmd命令 如复制 D:\tmp\my.txt 到D:\tmp\my_by_only_cmd.txt 现文件如图示: 执行代码: private static void run ...

  9. Atitit.执行cmd 命令行 php

    Atitit.执行cmd 命令行 php 1. 执行cmd 命令行,调用系统命令的基础 1 1.1. 实际执行模式 1 1.2. 空格的问题 1 1.3. 中文路径的问题,程序文件读取编码设置 1 1 ...

随机推荐

  1. The Definitive Guide To Django 2 学习笔记(七) 第四章 模板 (三)使用模板系统

    接下来,我们开始学习如何使用模板系统,但我们并不和前面说的View相结合,我们的这里的目的是展示模板系统是如何独立于Django框架运行的.下面是在pyhon代码中使用Django模板系统的基础例子: ...

  2. [工具04]java实现获取鼠标的坐标

    本篇博客其实没什么难度可言,在这里分享给大家,是因为有时候我们需要这个工具,java作为跨平台语言的优势在这个软件就可以体现出来,不需修改就可以在windows.mac.linux上使用这个软件. 这 ...

  3. Centos 下面安装 docker

    试过了虚拟机VM ,今天尝试在虚拟机centos 中安装 docker ,入门是看的阮一峰的http://www.ruanyifeng.com/blog/2018/02/docker-tutorial ...

  4. Ubuntu14.4下安装FTP

    今天学习了Ubuntu上安装ftp的实例. 1.window上已经安装wamp(windows + apache + mysql + php) 2.window上已安装VMware Workstati ...

  5. boost诊断工具BOOST_ASSERT、BOOST_VERIFY、BOOST_STATIC_ASSERT

    boost.assert提供的主要工具是BOOST_ASSERT宏,类似于C语言的assert,提供运行时的断言,但功能有所增强; 默认情况下,BOOST_ASSERT宏等同于assert宏: # d ...

  6. java获取系统时区

    //Calendar cal = Calendar.getInstance(); //TimeZone timeZone = cal.getTimeZone(); TimeZone timeZone ...

  7. Microsoft Visual C++ 2005 Redistributable---win下安装软件“嘭”的一声报错!

    今天下了个MindManager,正准备安装结果出现了如题的错误提示!!! 于是百度/google一下,在权威的微软官网下找到了答案,他妈的,看了之后表示很无奈 If the non unicode ...

  8. Linux下wc命令详解

    功能说明:计算字数. 语   法:wc [-clw][--help][--version][文件…] 补充说明:利用wc指令我们可以计算文件的Byte数.字数.或是列数,若不指定任何文件名称,或是所给 ...

  9. 一个页面从输入URL到页面加载完成发生了...待细化

    一个页面从输入URL到页面加载完成发生了... 1.查找浏览器缓存 2.寻址:DNS解析 查找该域名对应的IP地址, 如果需要重定向(301),则再次发起请求 3. 进行HTTP协议会话 4.客户端发 ...

  10. ZOJ 3490 String Successor(模拟)

    Time Limit: 2 Seconds Memory Limit: 65536 KB The successor to a string can be calculated by applying ...