从文件位置运行Java中的.exe文件

我必须从我的Java程序打开一个.exe文件。 所以我试着下面的代码第一。

Process process = runtime.exec("c:\\program files\\test\\test.exe");

但是我得到了一些错误。 然后我发现exe文件必须从c:\ program files / test /这个位置启动,只有这样它才会打开而不会出错。 所以我决定编写一个.bat文件并执行,以便它能够切换到该位置并执行.exe文件。

以下是我的代码:

BufferedWriter fileOut; String itsFileLocation = "c:\\program files\\test\\" System.out.println(itsFileLocation); try { fileOut = new BufferedWriter(new FileWriter("C:\\test.bat")); fileOut.write("cd\\"+"\n"); fileOut.write("cd "+ itsFileLocation +"\n"); fileOut.write("test.exe"+"\n"); fileOut.write("exit"+"\n"); fileOut.close(); // Close the output stream after all output is done. } catch (IOException e1) { e1.printStackTrace(); } // Create the Buffered Writer object to write to a file called filename.txt Runtime runtime = Runtime.getRuntime(); try { Process process =runtime.exec("cmd /c start C:\\test.bat"); } catch (IOException e) { e.printStackTrace(); }

上面的代码完美地工作。 但是,命令提示符也打开在我的.exe(应用程序)的后面。 它仅在.exe文件退出后closures。

当我的应用程序统计信息时,我需要隐藏我的命令提示符。

在程序写入后,我的.bat文件将如下图所示。

cd\ cd C:\Program Files\test\ test.exe exit

你不需要控制台。 您可以使用工作目录执行进程:

exec(string命令,string[] envp,文件目录)

使用指定的环境和工作目录在单独的进程中执行指定的string命令。

命令是.exe的位置

envp可以为null

目录,是你的.exe的目录

关于你的代码,应该是…

Runtime.getRuntime().exec("c:\\program files\\test\\test.exe", null, new File("c:\\program files\\test\\"));

你可以使用Runtime.exec(java.lang.String,java.lang.String [],java.io.File)来设置工作目录。

否则,您可以使用ProcessBuilder ,如下所示:

ProcessBuilder pb = new ProcessBuilder("myCommand", "myArg1", "myArg2"); pb.directory(new File("myDir")); Process p = pb.start();

运行文件的另一种方式如下:

import java.awt.Desktop; import java.io.File; public static void open(String targetFilePath) throws IOException { Desktop desktop = Desktop.getDesktop(); desktop.open(new File(targetFilePath)); }

使用java运行蝙蝠或任何其他命令行的标准代码是:

runtimeProcess = Runtime.getRuntime().exec("cmd /c start cmd.exe /C\""+backup_path+"\""); int processComplete = runtimeProcess.waitFor();

你可以使用&supperator继续多个文件:&&

运行exe文件的最佳方法

使java.awt.Desktop对象和等于Desktop.getDesktop();

Desktop desktop = Desktop.getDesktop(); desktop.open("file path");

运行exe文件:

desktop.open("C:\\Windows\\System32\\cmd.exe");

要么

desktop.open("C:/Windows/System32/cmd.exe");

运行url:

desktop.browse(new URI("http://www.google.com"));

java中 exe是什么文件_从文件位置运行Java中的.exe文件相关推荐

  1. JAVA EXE和zip版本_如何将最新的JRE / JDK作为zip文件而不是EXE或MSI安装程序? [关闭]...

    问题 我喜欢通过复制Java文件夹的内容和设置环境变量来确保一切正常. 我通常在虚拟机中运行安装程序,压缩\ java文件夹内容,返回虚拟机的快照,然后解压缩压缩文件. 我找不到最新的JRE / JD ...

  2. java怎样读txt文件_【后端开辟】java怎样读写txt文件?

    java怎样读取txt文件? 1.运用FileInputStream完成读取txt文件内容 2.运用FileOutputStream完成写入txt文件内容 package cn.xiaobing.ut ...

  3. java代码如何与界面联系在一起_如何在Visual Studio Code 中编写Java代码

    本文将展示如何在Visual Studio Code中用Java编写和运行一个简单的Hello World程序. 首先您必须在本地开发环境中安装Java SE开发工具包(JDK) Visual Stu ...

  4. tomcat下只有.class文件 没有java文件_解决tomcat发布工程后,WEB-INF/classes下文件不编译的问题...

    今天部署项目到tomcat,发布完后,启动tomcat,报class not found: 临时找了个解决方案,由于项目是copy过来的,于是就将原来项目的classes下面编译好的class文件也一 ...

  5. linux怎样自动检查link文件_怎样理解和识别 Linux 中的文件类型 | Linux 中国

    众所周知,在 Linux 中一切皆为文件,包括硬盘和显卡等.在 Linux 中导航时,大部分的文件都是普通文件和目录文件.但是也有其他的类型,对应于 5 类不同的作用.因此,理解 Linux 中的文件 ...

  6. cmd 将文件夹下文件剪切到另外一个文件_手把手教你运行第一个 Java 程序,看不懂你来骂我!...

    码字不易,对你有帮助 **点赞 /转发↪️/关注 ** 支持一下作者 微信搜公众号:不会编程的程序圆br/>看更多干货,获取第一时间更新 在运行第一个 java 程序之前,你需要先将 java ...

  7. cmd运行java语名_怎么用cmd运行java文件

    [怎么用cmd运行java文件]怎么在cmd里面执行java文件 找到存放要执行的JAVA的文件目录,然后在目录中运行CMD,运行JAVA程序之前要先编译,1.javac 文件名.java回车2.ja ...

  8. java得到sql语句表名_使用fdb-sql-parser替换SQL语句中的表名

    导语 因为项目中要做跨数据源的数据分析功能,所以使用Presto这个开源框架.但是使用Presto的时候需要指定当前表所在的数据库类型和数据库名,所以需要对SQL语句中的表名进行捕获和替换. 一.探索 ...

  9. minecraft java文件_“我的世界 (Minecraft)”Java版和 RTX 版的世界转换指南

    "我的世界 (Minecraft)"Java版和 RTX 版的世界转换指南 由 Andrew Burnes, Kelsey Blanton, PearlescentMoon, Ge ...

最新文章

  1. IDEA的Docker插件实战(Dockerfile篇)
  2. 数据告诉你史上最年轻35000分先生到底有多强?
  3. 最新天猫Java3轮面试题目:虚拟机+并发锁+Sql防注入+Zookeeper
  4. sql replace into 与 insert into
  5. maven引用外部jar依赖
  6. 高级参数绑定(数组和List绑定)
  7. 【MySQL】明明加了索引,为何不生效?
  8. 3D LUT Creator Pro for Mac(专业调色软件)中文版
  9. jdk Collections类
  10. modbus通讯失败_你以为你真的了解Modbus 通信协议?
  11. 【计算机网络】网络安全 : 对称密钥分配 ( 密钥分配 | 密钥分配中心 KDC | 对称密钥分配 | 密钥分配协议 | Kerberos 协议 )
  12. !!股票大作手操盘术【图解】
  13. 【清除office待激活密钥】
  14. redis 失效时间单位是秒还是毫秒_经常用Redis,这些坑你知道吗?
  15. java ppt转图片 解决图片不清晰问题
  16. 20154312 曾林 EXP9 Web安全基础
  17. (转)svn中更新工程出现如下错误:Working copy not locked; this is probably a bug, please report...
  18. 水文章(bushi)
  19. 计算机二级投影运算怎么看,二级计算机中交、并、除、自然连接、投影、选择和笛卡尔积是怎么计算的?...
  20. JavaWeb是什么?如何学习JavaWeb的体系

热门文章

  1. ffplay工具命令使用技巧浅析
  2. 服务器遇到攻击了,有什么好的安全解决方案
  3. Day2 - Wanan 么么哒。
  4. 字符编码的故事(ASCII ISO GBK GB2312 UTF-8)
  5. 东田纳西州立大学计算机排名,东田纳西州立大学的计算机专业如何?
  6. 震惊!催眠居然可以这么简单!
  7. uview u-popup设置背景透明
  8. 记录一下环状RNA高通量测序数据分析pipeline
  9. 《天穗之咲稻姬》游玩感想
  10. Java开发记事本(完整版)