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

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
, exe
cmd
c 调用cmd执行命令、java调用cmd 执行命令、c 调用cmd并执行命令、js调用cmd命令执行bat、c 执行cmd命令,以便于您获取更多的相关知识。

时间: 2024-08-04 01:53:55

Windows系统中Java调用cmd命令及执行exe程序的方法_java的相关文章

Java调用MySQL存储过程并获得返回值的方法_java

本文实例讲述了Java调用MySQL存储过程并获得返回值的方法.分享给大家供大家参考.具体如下: private void empsInDept(Connection myConnect, int deptId) throws SQLException { CallableStatement cStmt = myConnect.prepareCall("{CALL sp_emps_in_dept(?)}"); cStmt.setInt(1, deptId); cStmt.execute

windows系统中端口占用查看命令netstat

.查看所有的端口占用情况 C:>netstat -ano Microsoft Windows XP [版本 5.1.2600] (C) 版权所有 1985-2001 Microsoft Corp. C:Documents and SettingsAdministrator>netstat -ano Active Connections   Proto  Local Address          Foreign Address        State           PID   TCP

windows系统中python使用rar命令压缩多个文件夹示例_python

复制代码 代码如下: #!/usr/bin/env python# Filename: backup_ver1.py import osimport time # 1. The files and directories to be backed up are specified in a list.#source=['/home/swaroop/byte','/home/swaroop/bin']source=['D:\\FileCopier\\*.*','D:\\jeecms_doc\\*.

nodejs调用cmd命令实现复制目录_node.js

工作中一直需要对一些官网进行文件复制,并且替换内部的一些信息,以前都是手动操作的,或者通过自己写的firefox扩展来进行文件操作的. 现在前端有nodejs了,为什么不用nodejs写个一键式的呢~~ 1.复制目录 复制文件的时候,如果直接创建一个不存在的文件目录下就不成功了.要上级目录存在才可以.(nodejs API接触时间不长,如有有误,谢谢指正). 这样在写入文件的时候就检测一下目录是否存在,不存在则判断上级目录,之后一级一级目录创建回来,之后就可以复制文件了 var dirCache

Windows系统中打开CMD并定位到指定文件夹

  Windows系统中打开CMD并定位到指定文件夹 手动添加注册表项 打开注册表编辑regedit,且定位至HKEY_CLASSES_ROOTDirectoryshell 在shell下新建一个项(目录),命名为OpenCmd 在OpenCmd下新建一个项(目录),名为command 给command下面那个ab图标的,REG_SZ类型的值,设置为 cmd.exe /k pushd %L 直接导入注册表文件 上述步骤,也可通过导入注册表的方式来实现统一功能. 把下面的内容: Windows R

Java调用Shell命令的方法_java

本文实例讲述了Java调用Shell命令的方法.分享给大家供大家参考.具体如下: 近日项目中有这样一个需求:系统中的外币资金调度完成以后,要将调度信息生成一个Txt文件,然后将这个Txt文件发送到另外一个系统(Kondor)中.生成文件自然使用OutputStreamWirter了,发送文件有两种方式,一种是用写个一个类似于FTP功能的程序,另外一种就是使用Java来调用Shell,在Shell中完成文件的发送操作.我们选择后一种,即当完成外币资金的调度工作后,用Java的OutputStrea

c#调用cmd命令,将doc转换为 pdf

c#调用cmd命令,将doc转换为 pdf   using System; using System.Collections.Generic; using System.Text; using System.Diagnostics; namespace Tools { /// <summary> /// doc文件转换为pdf文件 /// </summary> public class DocToPdf { private string savePath = ""

nodejs调用cmd命令实现复制目录

  本文给大家介绍的是如何在nodejs中调用CMD命令,从而实现目录的复制,非常的实用,有需要的小伙伴可以参考下. 工作中一直需要对一些官网进行文件复制,并且替换内部的一些信息,以前都是手动操作的,或者通过自己写的firefox扩展来进行文件操作的. 现在前端有nodejs了,为什么不用nodejs写个一键式的呢~~ 1.复制目录 复制文件的时候,如果直接创建一个不存在的文件目录下就不成功了.要上级目录存在才可以.(nodejs API接触时间不长,如有有误,谢谢指正). 这样在写入文件的时候

windows系统中的hosts文件被劫持该怎么办?

  hosts文件被劫持,上网就会异常,打不开正常的网站,还会打开不良网站. 1.hosts文件是一个没有扩展名的文件,通常的路径在C:Windowssystem32driversetc文件夹内. 该文件的作用是加快域名解析,尤其是经常访问的网站,用户可以通过在Hosts中配置域名和IP的映射关系,提高域名解析速度.由于有了映射关系,输入域名计算机就能很快解析出IP,而不用请求网络上的DNS服务器.由此可见hosts权限要高于DNS服务器解析.正因为这个缘故,往往会被病毒.木马.不良程序所劫持而