用Runtime.getRuntime().exec()调用外部程序.

来源:互联网 发布:php集成环境wamp 编辑:程序博客网 时间:2024/06/11 12:07

public class RunTest{
   public void startup(){
        try
         {
             String osName = System.getProperty("os.name" );
             String[] cmd = new String[3];
             System.out.println("Operating System: /"" + osName.toString() + "/"");
             String cmdline = "cd /d " + "/"" + "f://r3 blank 空格可以啊//" + "/"" + " && " +  "run.bat";

            //其他类型的当然也可以执行了

           //在 && 后面加上start,看看会有什么不同的效果 :)
             if( osName.equals( "Windows XP" ) || osName.equals("Windows 2000") || osName.equals("Windows NT"))
             {
                 cmd[0] = "cmd.exe" ;
                 cmd[1] = "/C" ;
                 cmd[2] =cmdline;
              }
             else if(osName.equals("Linux"))
             {
                 cmd[0]="sh";
                 cmd[1] = ""; //linux下的某个目录
             }
             else if( osName.equals("Windows 98") || osName.equals("Windows 95"))
             {
                 cmd[0] = "command.com" ;
                 cmd[1] = "/C" ;
                 cmd[2] = cmdline;
             }

             Runtime rt = Runtime.getRuntime();
             System.out.println("Executing " + cmd[0] + " " + cmd[1] + " " + cmd[2]);
             Process proc = rt.exec(cmd);
             int exitVal = proc.waitFor();
             System.out.println("ExitValue: " + exitVal);
         } catch (Throwable t)
           {
             t.printStackTrace();
           }
    }
}

原创粉丝点击