android程序中使用命令行及获得命令行执行后的内容

在开发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


 
 

你可能感兴趣的:(工作笔记-安卓)