Java资源文件夹名称与其他名称

时间:2017-01-16 14:23:04

标签: java classloader getresource

对于名为“resource”的文件夹而言,是否存在一些神奇的东西,而不是其他东西。我在'资源'中有一个文件,当我尝试加载它时,它工作正常。

ClassLoader loader=Thread.currentThread().getContextClassLoader();
InputStream propFile=loader.getResourceAsStream("KCBSEvents/resource/build.properties");

我做了prop.load(propFile)来加载属性。

当我尝试使用类似的逻辑从名为“Images”的目录加载图像时,它会失败。两个目录在我的树中处于同一级别。

ClassLoader loader=Thread.currentThread().getContextClassLoader();
java.net.URL logoURL=loader.getClass().getResource("KCBSEvents/Images/KCBSLogo.jpg");

结果是'logoURL'为空。我只能得出结论,目录名称'resource'或'getResource'的工作原理与'getResourceAsStream'不同。有人可以解释发生了什么吗? TIA。

1 个答案:

答案 0 :(得分:0)

如果遇到其他人,我终于明白了。我需要为徽标使用字节流。

ClassLoader loader=Thread.currentThread().getContextClassLoader();
logo = new JLabel(new ImageIcon(ImageIO.read(loader.getResourceAsStream("KCBSEvents/Images/KCBSLogo.jpg"))));

它与jpg文件所在的文件夹无关。