首页 » Windows » Windows平台Java调用cmd命令执行程序

Windows平台Java调用cmd命令执行程序

原文 http://blog.csdn.net/shenxiaomo1688/article/details/79196625

2018-01-30 02:01:44阅读(419)

第一种方式:利用cmd方式

      * 执行cmd命令 
      * 
      * @param command 
      * @throws IOException 
      */ 
     public static String executeCmd(String command) throws IOException { 
          System.out.println("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) { 
              System.out.println(line); 
           build.append(line); 
          } 
          return build.toString(); 
     }
     public static void main(String[] args) throws IOException {
         String ECGFile="D:\\12ECG\\ECGAnalyser\\5.ECG";
         String path="D:\\12ECG\\ECGAnalyser\\";
         String type="1";
         String command="D:\\12ECG\\ECGAnalyser\\ECGAnalyser\t"+ECGFile+"\t"+path+"\t"+type;
         System.out.println(command);
         executeCmd(command); 
}

第二种方式使用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<String> list = new ArrayList<String>(); 
   list.add("cmd.exe"); 
   list.add("/c"); 
   list.add("start"); 
   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 + "不存在!"); 
  } 
 } 
} 
参考自http://www.jb51.net/article/80829.htm 

最新发布

CentOS专题

关于本站

5ibc.net旗下博客站精品博文小部分原创、大部分从互联网收集整理。尊重作者版权、传播精品博文,让更多编程爱好者知晓!

小提示

按 Ctrl+D 键,
把本文加入收藏夹