0

背景:我在 Windows 上main.jar的位置调用了一个正在运行的 .jar。C:\Program Files\folder\files\bin\main.jar我在同一位置也有一个名为p.properties. 同时,我在 .png 文件中有一个 .png 文件C:\Program Files\folder\files\graphic\img.png

我的问题:与访问 img.png 文件相比,我如何从 .jar 访问 p.properties 文件。我相信我可以new File("p.properties");从 .jar 中使用,但我将如何访问 img 文件?它在不同的文件夹中,我已经尝试过new File("graphic/img.png");,但没有奏效。我该怎么做?我访问属性文件是否正确?提前致谢!!!!

4

1 回答 1

2

在相对路径中,.. 指的是父目录。例如,

new File("../graphic/img.png");

顺便说一句,这些路径是相对于程序当前工作目录的,它可能不是你的 .jar 文件所在的路径。要查找 jar 所在的路径,您可以使用:

File jarFilePath = getClass().getProtectionDomain()
                             .getCodeSource().getLocation().getPath()
于 2013-03-28T23:30:55.970 回答