gpt4 book ai didi

java - 如何用Java从包装好的Jar中提取文件

转载 作者:行者123 更新时间:2023-12-01 08:48:21 25 4
gpt4 key购买 nike

该文件 (exe) 位于 JAR 文件内,该文件使用 Launch4j 包装为 EXE。

我的可执行文件(包含在 EXE 中的 JAR 文件):

myProgram.exe

可执行位置

myProgram.exe/program.jar/resources/sub-program.exe

如何运行(或解压到临时目录)sub-program.exe并带参数运行它? 子程序.exe -f -q

如果子程序是临时文件,我可以将其运行为:

String exeLocation = System.getProperty("java.io.tmpdir") + "sub-program.exe";
String params = " -f -q";
ProcessBuilder process = new ProcessBuilder("cmd.exe", "/c", exeLocation + params);

如何从打包的 Jar 文件中提取文件?我猜想没有办法在包装好的 Jar 文件中运行它。

最佳答案

您可以通过 getClass().getResourceAsStream("/resources/sub-program.exe") 等方式获取类路径中资源的 InputStream。您可以从流中读取并在您喜欢的任何位置创建一个文件(例如,在您暗示的临时目录下),然后执行它。

关于java - 如何用Java从包装好的Jar中提取文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42542708/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com