【问题标题】:Loading image as resource returning null加载图像作为资源返回 null
【发布时间】:2014-01-07 16:28:14
【问题描述】:

我的所有图像都有一个文件夹,即 /res/ 来访问这些图像,我想使用我班级的资源文件夹。 所以我用

    getClass().getResource("/res/image.png");

我也试过

    getClass().getResourceLoader("/res/image.png");

我也尝试过同样的事情,但 res 前面没有 /。

为了检查类路径,我做了一个 Sytem.out.println

    System.out.println(this.getClass().getResource(""));

它返回了我的 bin 文件夹的路径

当我尝试从我的 /res 文件夹中获取图像时,它总是返回 null。 在 Eclipse 中, res 文件夹被指定为类文件夹。

我该如何解决这个问题?

【问题讨论】:

    标签: java eclipse image loading embedded-resource


    【解决方案1】:

    在 Eclipse 中,声明为源文件夹的文件夹的内容放在类路径的根目录下。换句话说

    /res // could be called anything 
        /image.png
    

    会出现在

    / (classpath root)
        /image.png
    

    所以你可以访问它

    getClass().getResource("/image.png");
    

    或者,把它放在下面

    /res
        /res
            /image.png 
    

    如果你想保持原样。

    【讨论】:

    • @opiop65 这取决于getClass()返回的类在哪里。
    • @opiop65 如果我在添加前导 / 的每个资源加载问题上都有一美元解决了问题,我可以负担得起一个愉快的假期。跨度>
    • @AndrewThompson 真的吗?我很少需要添加一个!我想知道我在做什么不同...
    • @opiop65 您必须访问与类相关的资源(正确)。通过添加前导 /,我们可以使用完全相同的 Stringany 类加载资源,而与该类的包无关。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-15
    • 2013-06-10
    • 1970-01-01
    • 2018-03-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多