gpt4 book ai didi

java - 图像加载实际上是如何工作的?

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

我正在使用 NetBeans 并将图像加载到我的程序中,到目前为止,我一直将所有图像存储在 src/images/中,这很好。但我想将所有包名称都大写,因此我将它们全部重构,以便将它们大写。所以“图像”变成了“图像”。我更改了所有文件路径字符串以反射(reflect)这一点,但是当我下次运行程序时,不会加载任何图像。我在项目的构建部分中发现了另一个名为 images 的文件夹,其中包含一些我需要的图像,因此我将 src 图像文件夹中的所有内容复制到/build/classes/images 文件夹中,然后奇迹般地它再次开始工作。到目前为止,我一直将所有图像放在 src/images/部分中。

那么到底发生了什么?我是否需要开始将程序所需的所有新图像保存在/build/classes/images 或旧位置?图像加载代码现在决定在完全不同的地方查找,这是怎么回事?为什么图像文件夹有两个版本?这是 NetBeans 生成的一些奇怪的东西吗?

ImageIO.read(myClass.class.getResource("/images/myClassImg.png");

最佳答案

资源文件可以与所有 .class 文件一起打包在一个 jar 中。那么它就不是文件系统上的文件。因此,路径名区分大小写并使用“/”作为路径分隔符。一般来说,资源 URL 区分大小写。

上面应该是“/Images/myClassImg.png”。

但是,使用大写的包名称与非常普遍的约定相反。

关于java - 图像加载实际上是如何工作的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15557233/

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