java 执行linux 命令_java执行cmd命令和linux命令

一:window下执行cmd指定

程序例子:

[java] view plain copy/*该方法实现文件自动复制功能。利用系统命令将指定文件名从源路径复制到目的路径

* 如果目的路径不存在时,自动创建目的路径

**/

public static boolean copyFile(String origpath, String destpath, String filename) throwsException{

String osName= System.getProperty("os.name");boolean flag = false;/*系统命令支持的操作系统Windows XP, 2000 2003 7*/

if(!(osName.equalsIgnoreCase("windows XP") || osName.equalsIgnoreCase("windows 2000") || osName.equalsIgnoreCase("windows 2003") || osName.equalsIgnoreCase("windows 7"))){returnflag;

}

Runtime rt=Runtime.getRuntime();

Process p= null;

File f= newFile(destpath);if(!f.exists()){

f.mkdirs();

}intexitVal;

p= rt.exec("cmd exe /c copy " + origpath+filename+" "+destpath);//进程的出口值。根据惯例,0 表示正常终止。

exitVal =p.waitFor();if(exitVal == 0){

flag= true;

}else{

flag= false;

}returnflag;

}public static voidmain(String[] args) {try{

copyFile("D:\\DATA\\", "D:\\a\\", "131204.txt");

}catch(Exception e) {//TODO Auto-generated catch block

e.printStackTrace();

}

}

二:linux下执行shell命令

程序例子:

[java] view plain copypackageedu.test;importjava.io.InputStreamReader;importjava.io.LineNumberReader;/*** java在linux环境下执行linux命令,然后返回命令返回值。

*@authorlee*/

public classExecLinuxCMD {public staticObject exec(String cmd) {try{

String[] cmdA= { "/bin/sh", "-c", cmd };

Process process=Runtime.getRuntime().exec(cmdA);

LineNumberReader br= new LineNumberReader(newInputStreamReader(

process.getInputStream()));

StringBuffer sb= newStringBuffer();

String line;while ((line = br.readLine()) != null) {

System.out.println(line);

sb.append(line).append("\n");

}returnsb.toString();

}catch(Exception e) {

e.printStackTrace();

}return null;

}public static voidmain(String[] args) {//TODO Auto-generated method stub

String pwdString = exec("pwd").toString();

String netsString= exec("netstat -nat|grep -i \"80\"|wc -l").toString();

System.out.println("==========获得值=============");

System.out.println(pwdString);

System.out.println(netsString);

}

}

执行结果:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值