http://www.2cto.com/kf/201303/196718.html


下面,我以修改某一文件的权限为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);



package com.java2novice.processbuilder; import java.io.ByteArrayOutputStream;import java.io.IOException;import java.io.InputStream;import java.util.ArrayList;import java.util.List; public class MyMultipleCommandsEx {     public static void main(String a[]){                 InputStream is = null;        ByteArrayOutputStream baos = null;        List commands = new ArrayList();        commands.add("ls");        commands.add("-l");        commands.add("/Users/java2novice/");        ProcessBuilder pb = new ProcessBuilder(commands);        try {            Process prs = pb.start();            is = prs.getInputStream();            byte[] b = new byte[1024];            int size = 0;            baos = new ByteArrayOutputStream();            while((size = is.read(b)) != -1){                baos.write(b, 0, size);            }            System.out.println(new String(baos.toByteArray()));        } catch (IOException e) {            // TODO Auto-generated catch block            e.printStackTrace();        } finally{            try {                if(is != null) is.close();                if(baos != null) baos.close();            } catch (Exception ex){}        }    }}


http://blog.csdn.net/qiujuer/article/details/38086071

更多相关文章

  1. C语言函数的递归(上)
  2. No compatible targets were found....
  3. Android(安卓)Widget开发
  4. 初学Android,数据存储之SD卡文件浏览器(四十四)
  5. android读取raw下面的文件
  6. android 屏幕测试程序 测试R G B三色 和 全黑, 全白5种状态
  7. Linux 统计代码行数
  8. 【android 文件的基本操作】
  9. TextView 在xml文件中的解释 android

随机推荐

  1. php之深入理解架构布局讲解
  2. PHP之使用swoole统计在线人数和ID案例讲
  3. 系统学习 TypeScript(六)——认识接口
  4. js不常见操作运算符总结
  5. php获取referer防非法访问
  6. php之app消息推送案例教程
  7. js不常见操作运算符总结
  8. JS实现元素的拖动与占位功能
  9. PHP之修改php.ini文件上传大小的配置问题
  10. Android(安卓)ADT安装时卡在Calculating