Java下如何启动windows 的程序

Java的java.lang.Runtime类提供了运行 Windows下cmd环境的方法exec(String command),所有在Windows cmd命令窗口下执行的程序,都能利用这个方法执行。

下边提供两个封装后的代码,一个是查看程序是否在运行,另一个是启动程序:

1、查看程序是否在运行:其中tasklist /FI "IMAGENAME eq processName.exe"是在Windows CMD命令下执行的命令

/**
	 * 判断某个进程是否在运行中
	 * @param processName
	 * @return
	 */
	public static boolean isRunning(String processName)
    {
      
        BufferedReader bufferedReader = null;
        try
        {
            Process proc = Runtime.getRuntime().exec("tasklist /FI \"IMAGENAME eq "
                    + processName
                    + "\"");
            bufferedReader = new BufferedReader(new InputStreamReader(proc.getInputStream()));
            String line = null;
            while ((line = bufferedReader.readLine()) != null)
            {
                if (line.contains(processName)) //判断是否存在
                {
                    return true;
                }
            }
            return false;
        }
        catch (Exception ex)
        {
            ex.printStackTrace();
            return false;
        }
        finally
        {
            if (bufferedReader != null)
            {
                try
                {
                    bufferedReader.close();
                }
                catch (Exception ex)
                {
                }
            }
        }
    }


2、执行某个程序,comand例为:start "" "E:\\CardListen\\CardReaderServer.exe"  "127.0.0.1" "8080",详情可看CMD start命令

/**
	 * 执行Cmd命令
	 * @param command
	 * @return
	 * @throws IOException
	 */
	public static String executeCmd(String command) throws IOException {  
	    Runtime runtime = Runtime.getRuntime();  
	    Process process = runtime.exec("cmd /c " + command);  
	    BufferedReader br = new BufferedReader(new InputStreamReader(process.getInputStream(), "UTF-8"));  
	    String line = null;  
	    StringBuilder build = new StringBuilder();  
	    while ((line = br.readLine()) != null) {  
	        build.append(line);  
	    }  
	    return build.toString();  
	}  



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值