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

从文件位置运行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"));

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值