在开发android项目中,需要在程序中使用命令行执行,获得命令行执行后的结果并做处理。
下面是自己写的一个小例子,供以后参考使用:
public String android_command(){ //要执行的命令行 String ret = "cat /mnt/sdcard/readme.txt"; String con =""; String result =""; Process p; try { p = Runtime.getRuntime().exec(ret); BufferedReader br=new BufferedReader(new InputStreamReader(p.getInputStream())); while((result=br.readLine())!=null) { con+=result; } } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } //可以打出命令执行的结果 System.out.println("==========================con:"+con); ret = do_command(con); System.out.println("==========================ret:"+ret); return ret; } //对结果进行处理,得到自己想要的数据 public String do_command(String cmd){ String ret = ""; //根据自己的需求,制定正则表达式 String match = "\d+"; Pattern p = Pattern.compile(match); Matcher m = p.matcher(cmd); if(m.find()){ String arr = m.group(0); String cmd2 = m.replaceFirst("@"); ret = arr +"@"+do_command(cmd2); } return ret; }
关于java正则表达式的使用:
http://blog.csdn.net/mad1989/article/details/7773749
http://folksy.iteye.com/blog/1002076