我目前正在编写一款名为 Legend of Zork(开发标题)的游戏,主要是为了让我忙于编写代码和更深入地学习 Java。然而,我被困在一项特定的任务上。我希望能够将包含的文件夹复制到我的计算机、其他人的计算机甚至闪存驱动器上的任何位置,并使其正常运行。当我将程序编译成 Jar 时,我需要指定文件夹的路径,以便代码可以使用所需的文件(例如,音乐或电子表格)。我尝试了以下方法:
String dir = System.getProperty("user.dir") + "/resources/";
这将在 Eclipse 中提供正确的路径(“/media/MOTHLACHAIN/LegendOfZork/resources/”,这是我用作工作区的拇指驱动器)并且运行完美,但是当我构建和运行 jar 时,它不会运行到 FileNotFoundException。在终端中,键入“java -jar LegendOfZork.jar”,如果我不包含引用文件的类,它会说它正在寻找“/home/viktor/resources/Weapons.xls”,当它应该寻找对于“/home/viktor/LegendOfZork/resources/Weapons.xls”,或者如果从我的桌面运行,应该寻找“/home/viktor/Desktop/LegendOfZork/resources/Weapons.xls”等等。我的程序的文件夹层次结构是:
1。
- 资源
例如,LegendOfZork 文件夹将是包含 jar 文件的位置,我想放置程序的位置,而资源将是我想要访问电子表格的位置。
任何帮助将非常感激。非常感谢您的先进!