赞
踩
packagepractice;importjava.io.BufferedReader;importjava.io.File;importjava.io.IOException;importjava.io.InputStream;importjava.io.InputStreamReader;public classcmdadb {public voidexecuteCMDconsole(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 ) throwsIOException {//此方法为輸出日志到指定文件夹!!!!!!!!!!!!//此方法跑成功!!!//如果 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= newProcessBuilder(cmmands);if (dirTodoCMD != null)
builder.directory(newFile(dirTodoCMD));
builder.redirectErrorStream(true);
builder.redirectOutput(newFile(logToFile));
Process process=builder.start();
process.waitFor();//得到命令执行后的结果
InputStream is =process.getInputStream();
BufferedReader buffer= new BufferedReader(new InputStreamReader(is, "gbk"));
String line= null;
StringBuffer sbBuffer= newStringBuffer();while ((line = buffer.readLine()) != null) {
sbBuffer.append(line);
}
is.close();returnsbBuffer.toString();
}catch(Exception e) {
e.printStackTrace();
}return null;
}public static void main(String[] args) throwsIOException {//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 = newcmdadb();
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了
}
}
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。