Java调⽤cmd命令,并输出显⽰信息:
package com.anxin.cmd.test;
import java.io.BufferedReader; import java.io.InputStreamReader;
public class Command {
public static void main(String[] args) { try {
Runtime rt = Runtime.getRuntime();
Process pr = rt.exec(\"cmd /c dir\"); // cmd /c calc // Process pr = rt.exec(\"D:\\ unlei\\\\project.aspx\");
BufferedReader input = new BufferedReader(new InputStreamReader(pr.getInputStream(), \"GBK\"));
String line = null;
while ((line = input.readLine()) != null) { System.out.println(line); }
int exitVal = pr.waitFor();
System.out.println(\"Exited with error code \" + exitVal);
} catch (Exception e) {
System.out.println(e.toString()); e.printStackTrace(); } } }
Java启动本机应⽤程序EXE的三种⽅式:第⼀种⽅式:利⽤cmd⽅式
/**
* 执⾏cmd命令 *
* @param command * @throws IOException */
public static String executeCmd(String command) throws IOException { log.info(\"Execute command : \" + command); 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) { log.info(line);
build.append(line); }
return build.toString(); }
executeCmd(start \"AXAdWebBrowser\" \"D:\\AXAdsBrowser\\AXAdWebBrowser.exe\");
第⼆种⽅式:利⽤ProcessBuilder调⽤cmd⽅式
/**
* 启动应⽤程序 *
* @param programName * @return
* @throws IOException */
public static void startProgram(String programPath) throws IOException { log.info(\"启动应⽤程序:\" + programPath); if (StringUtils.isNotBlank(programPath)) {
try {
String programName = programPath.substring(programPath.lastIndexOf(\"/\") + 1, programPath.lastIndexOf(\".\")); List list.add(\"\\\"\" + programName + \"\\\"\"); list.add(\"\\\"\" + programPath + \"\\\"\"); ProcessBuilder pBuilder = new ProcessBuilder(list); pBuilder.start(); } catch (Exception e) { e.printStackTrace(); log.error(\"应⽤程序:\" + programPath + \"不存在!\"); } } } 第三种⽅式:使⽤Desktop启动应⽤程序 /** * 启动应⽤程序 * * @param programName * @return * @throws IOException */ public static void startProgram(String programPath) throws IOException { log.info(\"启动应⽤程序:\" + programPath); if (StringUtils.isNotBlank(programPath)) { try { Desktop.getDesktop().open(new File(programPath)); } catch (Exception e) { e.printStackTrace(); log.error(\"应⽤程序:\" + programPath + \"不存在!\"); } } } 因篇幅问题不能全部显示,请点此查看更多更全内容