在android中我们可以通过

Process process=Runtime.getRuntime().exec("ls -l /sdcard/dcim/camera");执行linux下的命令

InputStream in=process.getInputStream();得到命令执行结果的二进制流

ls -l xxxx命令的执行结果一般格式为:

drwxr-xr-x 2 root root 4096 04-27 11:44 eclipse
drwxrwxrwx 2 root root 4096 04-20 21:22 myfolder
drwxr-xr-x 2 root root 4096 04-27 12:58 sdk
-rw-r--r-- 1 root root 82 04-22 15:37 setting.conf
drwxrwxrwx 2 root root 4096 04-20 21:22 tmp
drwxrwxrwx 2 root root 4096 04-21 14:58 tool
-rwxr--r-- 1 Onglu Onglu 544256 04-22 14:05 yoyoplayer for Android 1.5.doc

现在的需求是从上面的执行结果中得到每个项纵向排列的值:

方法:如:String str="drwxrwxrwx 2 root root 4096 04-20 21:22 myfolder"

由于空格数不确定,采用String[] array=str.split(" ");//根据单个空格符分割,一般都会出问题

完整解决方案:

1,按照空格分割字符串,多个空格作为一个空格对字符串进行分割,这里需要用到正则表达式

String[] array=str.split("\\s{1,}")

2,将字符串中的多个空格替换为一个空格,然后根据空格获得数组

String [] array=str.replace("{2,}", " ").split(" ")

更多相关文章

  1. Android(安卓)技术专题系列之五 -- 本地化
  2. android工程字符串多语言翻译遗漏查找工具
  3. Android(安卓)本地代码中的LIKELY和UNLIKELY宏
  4. 如果获取android源码
  5. Android系统启动执行jar程序
  6. Android应用程序执行流程
  7. Android中String的处理
  8. 修改Android中strings.xml文件
  9. Android(安卓)中onSaveInstanceState()解析

随机推荐

  1. Android(安卓)Gallery的使用
  2. Android系统修改导航栏显示位置
  3. ListView设置分割线Divider样式
  4. 使用Android(安卓)Studio创建Android(安
  5. android 透明activity
  6. Android学习笔记之mainfest文件中android
  7. Android(安卓)HTTP
  8. android 内存管理
  9. [android警告]AndroidManifest.xml警告 N
  10. SeekBar自定义