我已经创建了一个应用程序(您可以在这里找到整个事情以自己查看问题:https ://github.com/Tressos-Aristomenis/Snakes-And-Ladders-JavaFX-from-scratch !)并且我已经提供了一些背景音乐。
我实际上正在使用一个名为“音乐”的文件夹,其中包含所有曲目。在我的电脑中 "music" 的位置是:D:\MyWork\PersonalStuff\Programming\Refactored_SnakesAndLadders_v2\Refactored_SnakesAndLadders_v2\src\music。
如果我在我的 PC中使用此路径来指定轨道的位置,它工作正常。显然,这对于任何其他 PC 都不常见。我发现“ System.getProperty("user.dir") ”指定了运行java的位置。
使用路径:private final String TRACKS_PATH = System.getProperty("user.dir") + "\\music";
实际上也以更动态的方式在我的 PC 上工作。现在无论项目在哪里都可以找到“音乐”文件夹。
问题:
我的一些朋友已经下载了.jar文件,甚至整个代码+jar和应用程序都没有运行;这意味着有一个NullPointerException在行:
TRACKS_DIRECTORY = new File(TRACKS_PATH);
TRACKLIST = TRACKS_DIRECTORY.listFiles();
TRACKLIST 是一个文件数组。显然 TRACKS_DIRECTORY 为空,因为路径不正确。
有关如何为运行我的应用程序的每个用户确定通用路径的任何帮助?