在程序中调用Win/Lin命令

 

public class ShellUtils {

     public static void main(String[] args) {

           String str = ShellUtils.execute("cd");

           

           //String str =  ShellUtils.execute("/myfolder/firstShell.sh 10");

           System.out.println(str);

     }

     

     public static String execute(String command){

           Scanner input = null;

           String result = "";

           Process process = null;

           try {

                process = Runtime.getRuntime().exec(command);

                //等待命令执行完成

                process.waitFor();

                InputStream in = process.getInputStream();

                input = new Scanner(in);

                while(input.hasNext()){

                     result += input.nextLine() +"\n";

                }

                result = command + "\n" + result;

                

           } catch (Exception e) {

                e.printStackTrace();

           }finally {

                if(input != null){

                     input.close();

                }

                if(process != null){

                     process.destroy();

                }

           }

           return result;

     }

}

 

异常/错误:

 1.Cannot run program "cd": CreateProcess error=2,

原因:执行Linux命令和Windows命令有区别

执行Windows:.exec(cmd /c comand);

执行Linux命令:.exec(command);

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值