首页 > 其他 > 详细

CpuInfo

时间:2015-07-02 19:24:22      阅读:104      评论:0      收藏:0      [点我收藏+]
import java.io.*;
import java.lang.StringBuffer ;

class CpuInfo{
    public static String getcpu(String packageName) throws Exception{
        String str = null;
        Runtime runtime = Runtime.getRuntime();
        Process proc = runtime.exec("adb shell dumpsys cpuinfo | grep " + packageName);

        try{
            //如果执行时非正常终止,则打印进程退出的返回值,waitFor()=0 为正常终止.
            //waitFor()方法将导致当前的线程等待.如果必要的话.直到由该Process对象表示的进程已经终止.此方法将立即返回,如果子进程已经终止.
            //如果子进程尚未终止,则调用线程将被阻塞,直到子进程退出.
            if(proc.waitFor() != 0){
                System.err.println("exit value = " + proc.exitValue());
            }

            //创建一个BufferedReader对象,且里边装的内容为执行proc返回的值(将proc的返回值作为输入流)
            BufferedReader br = new BufferedReader(new InputStreamReader(proc.getInputStream()));

            //创建一个空StringBuffer对象,用来装输出内容
            StringBuffer sb = new StringBuffer();
            String line = null;
            
            //逐行读取返回输入流内容并添加到stringbuffer对象中,每次添加都进行换行.
            while((line = br.readLine()) != null){
                sb.append(line + "\n");
            }
            
            String str1 = sb.toString();
            System.out.println(str1);
            String str2 = str1.substring(str1.indexOf(packageName),str1.indexOf(packageName) + 28);
            str = str2.substring(18,23);

            FileWriter fw = new FileWriter("d:\\cpuinfo.txt",true);
            fw.flush();
            fw.write(str1);
            fw.close();

        }catch(InterruptedException e){
            System.out.println(e);
        }finally{
            try{
                proc.destroy();
            }catch(Exception e2){
                //System.out.println(e2);
            }
        }
        return str;

    }
}
    
    /*
    public static double Cpu(String packageName) throws IOException{
        
        double Cpu = 0;

        try{
            Runtime runtime = Runtime.getRuntime();
            Process proc = runtime.exec("adb shell top -n 5 | grep " + packageName);
            try{
                //如果执行时非正常终止,则打印进程退出的返回值,waitFor()=0 为正常终止.
                //waitFor()方法将导致当前的线程等待.如果必要的话.直到由该Process对象表示的进程已经终止.此方法将立即返回,如果子进程已经终止.
                //如果子进程尚未终止,则调用线程将被阻塞,直到子进程退出.
                if(proc.waitFor() != 0){
                    System.err.println("exit value = " + proc.exitValue());
                }

                //创建一个BufferedReader对象,且里边装的内容为执行proc返回的值(将proc的返回值作为输入流)
                BufferedReader br = new BufferedReader(new InputStreamReader(proc.getInputStream()));
                
                //创建一个空StringBuffer对象,用来装输出内容
                StringBuffer stringBuffer = new StringBuffer();
                
                String line = null;
                //逐行读取返回输入流内容并添加到stringbuffer对象中,每次添加都进行换行.
                while((line = br.readLine()) != null){
                    stringBuffer.append(line + "\n");
                }

                String str1 = stringBuffer.toString();
                System.out.println(str1);

                //BufferedReader reader = new BufferedReader(new FileReader("d:\\a.csv"));
                FileWriter fw = new FileWriter("d:\\cpuinfo.text",true);
                fw.flush();
                fw.write(str1);
                fw.close();
                
                String str3 = str1.substring(str1.indexOf(packageName)-43,str1.indexOf(packageName));

                String cpu = str3.substring(0,4);
                       cpu =cpu.trim();
                       Cpu = Double.parseDouble(cpu);
                

            }catch(InterruptedException e){
                System.err.println(e);
            }finally{
                try{
                    proc.destroy();
                }catch(Exception e2){
                    //System.out.println("test");
                }
            }
        }catch(Exception StringIndexOutOfBoundsExcepiton){
            //System.out.println("请检查设备是否连接");
        }
        return Cpu;
    }
    */

 

CpuInfo

原文:http://www.cnblogs.com/dtest/p/4616755.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!