Eclipse 可以找到文件,但 Exe 文件不能,尽管该文件位于同一目录中,

Eclipse can find file but Exe file cannot despite the fact that the file is in the same directory,

对于我的文字迷宫游戏,Eclipse 可以找到文本文件并 运行 它正确,但是当我将项目的 jar 转换为 exe , exe 找不到文件。奇怪的是,我创建的 jar 文件和 exe 都在同一个目录中,但是 jar 文件 运行 是完美的,而 exe 文件不是。这是为什么?

这是我的代码:

try {
    //Find the file, create the maze, etc.
}
// Exceptions
catch (FileNotFoundException e) {
    File file = new File("maze.txt");

    System.out.println(file.canRead());
    System.out.println(file.getAbsoluteFile().exists());
}

当我 运行 exe 时,即使所有文件都在同一目录中并且它适用于 Jar 文件,但两个打印输出都为 false。为什么是这样?顺便说一句,我正在使用 IExpress 转换为 exe

你可以使用Launch4j因为它很容易使用

Launch4j 是一个跨平台工具,用于将 Java 应用程序包装为轻量级 Windows 本机可执行文件中作为 jar 分发的应用程序。可执行文件可以配置为搜索某个 JRE 版本或使用捆绑版本,并且可以设置运行时选项,例如 initial/max 堆大小。该包装器还通过应用程序图标、本地 JRE 之前的初始屏幕和 Java 下载页面提供更好的用户体验,以防找不到合适的 JRE。