当前位置: 首页 > 编程笔记 >

Windows系统中Java调用cmd命令及执行exe程序的方法

韦衡
2023-03-14
本文向大家介绍Windows系统中Java调用cmd命令及执行exe程序的方法,包括了Windows系统中Java调用cmd命令及执行exe程序的方法的使用技巧和注意事项,需要的朋友参考一下

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:\\xunlei\\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<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 + "不存在!"); 
  } 
 } 
} 
 类似资料:
  • 本文向大家介绍java执行windows下cmd命令的方法,包括了java执行windows下cmd命令的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了java执行windows下cmd命令的方法。分享给大家供大家参考。 具体实现代码如下: 例如: cmd /c dir 是执行完dir命令后关闭命令窗口。 cmd /k dir 是执行完dir命令后不关闭命令窗口。 cmd /c st

  • 本文向大家介绍PHP中执行cmd命令的方法,包括了PHP中执行cmd命令的方法的使用技巧和注意事项,需要的朋友参考一下 本文介绍下,在php代码中执行cmd命令的方法,介绍下在php.ini文件中配置safe_mode参数支持命令执行的方法,有需要的朋友参考下。 说明: 本节内容在wamp包安装的环境实现。 首先,打开php.ini,关掉安全模式safe_mode = off,然后在看看 禁用函数

  • 问题内容: 在下面的程序中,名称为“ don”,因此该命令将搜索活动目录,其所有名称均以don开头(例如donald等)。但是从读者对象分配后,line2变量变为空,并且永远不会进入循环。我究竟做错了什么?仅供参考:当我在命令行上输入命令时,该命令有效。 问题答案: 如果我没记错的话,管道(或重定向)需要使用cmd.exe启动程序。就像是:

  • 本文向大家介绍Go语言执行系统命令行命令的方法,包括了Go语言执行系统命令行命令的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Go语言执行系统命令行命令的方法。分享给大家供大家参考。具体如下: 执行Go代码时可以附加参数,包括要执行的命令和给命令的参数 希望本文所述对大家的Go语言程序设计有所帮助。

  • 我想制作一个打开另一个java程序的程序。如何在编译和运行java程序时运行/执行cmd命令。 例如c:\Users\Burnok 如何在java程序中实现这一点?请帮忙。 我尝试了这段代码,但编译成功,但如果我尝试运行HelloWorld。类它表示无法找到或加载主类。 以下是java src/HelloWorld stderr的错误:错误:无法找到或加载主类src。你好世界

  • 本文向大家介绍Lua中执行系统命令方法介绍,包括了Lua中执行系统命令方法介绍的使用技巧和注意事项,需要的朋友参考一下 Lua中,os.execute可以执行dos命令,但是返回的是系统状态码,默认输出。 io.popen()也可以执行dos命令,但是返回一个文件。eg: 如果想执行某命令或程序可选os.execute(),如果还想捕捉该执行结果可用io.popen() eg:复制文件