Runtime.getRuntime()

  • 权声明:转载时请以超链接形式标明文章原始出处和作者信息及 本声明
    http://1504745673.blogbus.com/logs/77395808.html

    假如要在java程序里执行一条linux可以用下面的写法Java代码

    Processprocess=Runtime.getRuntime().exec(cmd);

    process.waitFor();

    Processprocess=Runtime.getRuntime().exec(cmd);process.waitFor();

    但是当碰到像cd这样的命令时,上面的这种写法切不管用,很多时候我们以为是命令输错了或是文件找不到。

    现在提供一种新的执行命令方法:Java代码

    Filewd=newFile("/bin");

    System.out.println(wd);

    Processproc=null;

    try{

    proc=runtime.getruntime().exec("/bin/bash",null,wd);

    }

    catch(IOException e){

    e.printStackTrace();

    }

    if(proc!=null){

    BufferedReaderin=newBufferedReader(newInputStreamReader(proc.getInputStream()));

    PrintWriterout=newPrintWriter(newBufferedWriter(newOutputStreamWriter(proc.getOutputStream())),true);

    out.println("cd..");

    out.println("pwd");

    out.println("exit");

    try{

    Stringline;

    while((line=in.readLine())!=null){

    System.out.println(line);

    }

    proc.waitFor();

    in.close();

    out.close();

    proc.destroy();

    }

    catch(Exception e){

    e.printStackTrace();

    }}

    Filewd=newFile("/bin");System.out.println(wd);Processproc=null;try{proc=runtime.getruntime().exec("/bin/bash",null,wd);}catch(IOException e){e.printStackTrace();}if(proc!=null){BufferedReaderin=newBufferedReader(newInputStreamReader(proc.getInputStream()));PrintWriterout=newPrintWriter(newBufferedWriter(newOutputStreamWriter(proc.getOutputStream())),true);out.println("cd..");out.println("pwd");out.println("exit");try{Stringline;while((line=in.readLine())!=null){System.out.println(line);}proc.waitFor();in.close();out.close();proc.destroy();}catch(Exception e){e.printStackTrace();}}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值