gpt4 book ai didi

java - UrlClassLoader加载图片资源

转载 作者:行者123 更新时间:2023-12-02 05:44:02 25 4
gpt4 key购买 nike

我正在创建一个由 java 项目(不是我编写的)启动的 eclipse 工作区。我在使用以下方法时遇到问题:

    public static URL getURL(String fileName) {
URLClassLoader urlLoader = (URLClassLoader) getInstance().getClass()
.getClassLoader();

URL fileLocation = urlLoader.findResource(fileName);

return fileLocation;

因为findResource找不到JPG资源(文件名=“icons/INIT.JPG”)。

查看urlLoader.getUrl,我注意到该类仅针对 jar 文件。将文件夹 icon 添加到 eclipse 下的 Project->Libraries 我设法让 findResources 查看 icon 文件夹:不过,该镜像不是 jar 文件,因此不予考虑。

老实说,我不明白使用此过程加载图像的意义,但我无法更改代码,我希望在 Eclipse 项目设置中找到解决方案。

提前致谢

最佳答案

根据原始评论中我的问题的答案,有一些事实:

  • 您无法更改代码,而且它看起来正在检索 AppClassLoader。
  • 即使您将其转换为 URLClassLoader,它仍然是 AppClassLoader 的实例,因此它将查找类路径的内容以及 JAVA_HOME\lib\ext 中的所有 JAR/ZIP 文件。

您说过无需将文件移动到任何地方即可保证项目正常工作,因此只有一个选择:将要使用类加载器检索的文件添加到类路径中。

  1. 右键单击项目,选择“构建路径”,然后选择“配置构建路径”。
  2. 点击“来源”>“添加文件夹...”,然后添加您要获取的资源所在的文件夹。

PD:如果您在“库”选项卡中将该文件夹添加为“类文件夹”,则 AppClassLoader 将无法识别 JPG 图像。

关于java - UrlClassLoader加载图片资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56114239/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com