0

想象以下文件夹结构

  • 文件夹
    • 应用程序.jar
    • img(其实我不知道它在那里)

App.jar 里面也有img文件夹。

所以我使用以下代码读取图像img

InputStream is = IconManager.class.getClassLoader().getResourceAsStream("img/1.png");
BufferedImage bimage = ImageIO.read(is);
is.close();

我之前就知道这个片段非常适合从 jar 本身读取文件。但是由于偶然有过时的 img 版本,folder它开始从外部读取图像文件img:文件夹/img 而不是 jar 本身。我花了很多时间来弄清楚。

我的问题是为什么代码片段默认尝试从文件夹/img 而不是 App.jar 中读取?

UPD:我使用java -jar App.jarfrom运行它folder

在构建 jar 之前,我使用 Windows 7 并且从未classpath在 Eclipse 中指定

4

0 回答 0