Android之应用中执行Linux命令

Android之应用中执行Linux命令

下面,我以修改某一文件的权限为777为例:

/** 执行Linux命令,并返回执行结果。 */ 
      public static String exec(String[] args) { 
          String result = ""; 
          ProcessBuilder processBuilder = new ProcessBuilder(args); 
          Process process = null; 
          InputStream errIs = null; 
          InputStream inIs = null; 
          try { 
              ByteArrayOutputStream baos = new ByteArrayOutputStream(); 
              int read = -1; 
              process = processBuilder.start(); 
              errIs = process.getErrorStream(); 
              while ((read = errIs.read()) != -1) { 
                  baos.write(read); 
              } 
              baos.write('\n'); 
              inIs = process.getInputStream(); 
              while ((read = inIs.read()) != -1) { 
                  baos.write(read); 
              } 
              byte[] data = baos.toByteArray(); 
              result = new String(data); 
          } catch (IOException e) { 
              e.printStackTrace(); 
          } catch (Exception e) { 
              e.printStackTrace(); 
          } finally { 
              try { 
                  if (errIs != null) { 
                      errIs.close(); 
                  } 
                  if (inIs != null) { 
                      inIs.close(); 
                  } 
              } catch (IOException e) { 
                  e.printStackTrace(); 
              } 
              if (process != null) { 
                  process.destroy(); 
              } 
          } 
          return result; 
      } 

下面在我们需要的地方调用上面函数即可:

String[] args = { "chmod", "777", "(文件路径)"}; 
 exec(args);

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/7e4fed7ae9f5c20b1fcebe6e0dc4aa74.html