java Runtime如何执行多条命令
使用 && 分隔命令
public static void cmd() {
String ls = " cd /home/ && dir ";
Process process = null;
String cmd = getOsCmd()+ ls;
try {
process = Runtime.getRuntime().exec(cmd);
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(process.getInputStream()));
String line = null;
while ((line = bufferedReader.readLine()) != null) {
System.out.println(new String(line.getBytes(),"GBK"));
}
}catch (Exception e){
e.printStackTrace();
}
finally {
process.destroy();
}
}
public static String getOsCmd(){
Properties props=System.getProperties(); //获得系统属性集
String osName = props.getProperty("os.name"); //操作系统名称
if(osName.toLowerCase().contains("linux")){
return "/bin/sh -c";
}else if(osName.toLowerCase().contains("windows")){
return "cmd /c";
}else{
throw new RuntimeException("服务器不是linux|windows操作系统");
}
}
Runtime.getRuntime().exec 执行多条
中间加上 & 或者 && 就可以执行多条了.
Runtime.getRuntime().exec("cmd1 && " +
"cmd2 && " +
"cmd3 && " );
以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。