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. 开源项目,动作识别的开源框架Sense + 多对
  2. deepin下配置protobuf
  3. 本周AI开源项目精选 | 时间序列预测模型
  4. 官宣!数据名媛小麦C位出道!
  5. 时序数据库丨DolphinDB内存表详解
  6. AWS 大数据实战 Lab4 - 数据实时检索(五)
  7. 黑盒测试需要使用哪些软件?
  8. 前端基础设施-封装项目路由模块
  9. R语言生存分析入门
  10. js和css基础知识总结