[html]
在開發android項目中,需要在程式中使用命令列執行,獲得命令列執行後的結果並做處理。
在開發android項目中,需要在程式中使用命令列執行,獲得命令列執行後的結果並做處理。[html]
下面是自己寫的一個小例子,供以後參考使用:
下面是自己寫的一個小例子,供以後參考使用:[html] view plaincopyprint?<PRE class=html name="code"> 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 = "";
//根據自己的需求,制定Regex
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;
}
</PRE>關於javaRegex的使用:
<PRE></PRE>
<PRE style="BACKGROUND-COLOR: rgb(255,255,255)" class=html name="code">http://blog.csdn.net/mad1989/article/details/7773749</PRE><PRE style="BACKGROUND-COLOR: rgb(255,255,255)" class=html name="code">http://folksy.iteye.com/blog/1002076</PRE><PRE style="BACKGROUND-COLOR: rgb(255,255,255)" class=html name="code">
</PRE>
<PRE style="BACKGROUND-COLOR: rgb(255,255,255)" class=html name="code"></PRE>