gpt4 book ai didi

java - 使用 exe4j 文件创建 setup.exe 后,编写程序不起作用

转载 作者:太空宇宙 更新时间:2023-11-04 11:15:32 24 4
gpt4 key购买 nike

我想创建日志文件并用 java 向该文件写入一些文本。我完成了该任务。当运行 jar 文件时,此代码运行良好。但是在使用 exe4j 文件创建 setup.exe 后,写入过程不起作用。有人知道如何执行此操作吗?

这是我获取 jar 文件所在目录的路径

File f = null;

public String baseUrl() {
try {
if (f == null) {
f = new File(Register.class.getProtectionDomain().getCodeSource().getLocation().toURI().getRawPath());
}
String path = f.getParent();
return path;
} catch (URISyntaxException ex) {
System.out.println(ex);
}
return "";
}

这是我的日志文件创建过程

    try {
src.Log lg = new src.Log();
lg.setAction(action);
lg.setUserName(userName);
lg.setDescription(description);
lg.setTime(date);
lg.setSyncPath(syncPath);
lg.setMethod(method);

String url = baseUrl();
System.out.println(baseUrl());
String directoryName = url + "/ResFile";

File directory = new File(directoryName);
if (!directory.exists()) {
directory.mkdir();

}

File log = new File(directoryName + "/log.txt");

if (log.exists() == false) {
log.createNewFile();
}
try (PrintWriter out = new PrintWriter(new FileWriter(log, true))) {
out.append(lg.toString());
}

} catch (Exception ex) {
System.out.println(ex);
}

最佳答案

如果您使用“JAR in EXE”模式,您的日志文件最终将位于临时目录中,因为这是在运行时提取 JAR 文件的位置。

要获取可执行文件所在的目录,可以使用

System.getProperty("install4j.exeDir")

关于java - 使用 exe4j 文件创建 setup.exe 后,编写程序不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45497087/

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