Linux java调用cmd_java执行cmd命令和linux命令

本文展示了如何使用Java在Windows环境下通过CMD执行文件复制操作,以及在Linux环境中通过Shell命令执行系统操作,如获取当前工作目录和网络状态。提供了具体的代码示例进行说明。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一:window下执行cmd指定

程序例子:

[java] view plaincopy

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

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

* */

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

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"))){

return flag;

}

Runtime rt = Runtime.getRuntime();

Process p = null;

File f = new File(destpath);

if(!f.exists()){

f.mkdirs();

}

int exitVal;

p = rt.exec("cmd exe /c copy " + origpath+filename+" "+destpath);

// 进程的出口值。根据惯例,0 表示正常终止。

exitVal = p.waitFor();

if(exitVal == 0){

flag = true;

}else{

flag = false;

}

return flag;

}

public static void main(String[] args) {

try {

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

} catch (Exception e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

二:linux下执行shell命令

程序例子:

package edu.test;

import java.io.InputStreamReader;

import java.io.LineNumberReader;

/**

* java在linux环境下执行linux命令,然后返回命令返回值。

* @author lee

*/

public class ExecLinuxCMD {

public static Object exec(String cmd) {

try {

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

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

LineNumberReader br = new LineNumberReader(new InputStreamReader(

process.getInputStream()));

StringBuffer sb = new StringBuffer();

String line;

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

System.out.println(line);

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

}

return sb.toString();

} catch (Exception e) {

e.printStackTrace();

}

return null;

}

public static void main(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);

}

}

38678bf4fcd7a76c3bcdb4601221a8d3.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值