import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
public class Cmd {
public static void main(String[] args) {
// java编译运行java
Cmd.exec("javac D:\\jjj\\P.java",null);
Cmd.exec("java -classpath D:\\jjj P ",null);
// java 运行java(java>=11)
Cmd.exec("java D:\\jjj\\P.java",null);
// java运行cmd
Cmd.exec("cmd.exe /c set BATCH_ROOT=AAA",null);
// java运行java bat方式 带系统变量参数
Cmd.exec("D:\\jjj\\RUN.bat WWWWW",null);
// java运行java 带系统变量
String[] cmds= {"BATCH_ROOT_PATH=D:\\hinoBatch"};
Cmd.exec("java D:\\jjj\\P.java",cmds);
}
/**
* 执行系统命令(windows环境下)
* @param cmd 命令
* @param envp 环境变量
*/
public static void exec(String cmd,String[] envp) {
BufferedReader br = null;
try {
Process process = Runtime.getRuntime().exec(cmd, envp);
InputStream is = process.getInputStream();
InputStream es = process.getErrorStream();
int available = es.available();
if (available > 0) {
byte[] bytes = es.readAllBytes();
System.out.println(new String(bytes));
} else {
InputStreamReader isr = new InputStreamReader(is);
br = new BufferedReader(isr);
String content = null;
while ((content = br.readLine()) != null) {
System.out.println(content);
}
}
} catch (IOException e) {
e.printStackTrace();
} finally {
if (br != null) {
try {
br.close();
} catch (IOException e) {
}
}
}
}
}