我的一段代码:
private InputStream assetFromJAR(String fileName) {
return getClass().getResourceAsStream("/view/assets/ims/" + fileName + ".png");
}
返回始终为空...
我的结构是:
src
main
java <- source root
view
assets
ims
它不知道为什么会这样,路径是正确的,为什么它总是返回null?
感谢答案!
答案 0 :(得分:0)
Maven Java项目的结构方式是将* .java文件和资源文件(例如* .properties,*。jpg,*。png等)分开。
因此,将资源文件直接放在“ src / main / resources”或资源目录的子文件夹下(如项目的“ src / main / resources / view / assets / ims /”)。
然后,您可以轻松访问资源文件。
private InputStream assetFromJAR(String fileName) {
return getClass().getResourceAsStream("/view/assets/ims/" + fileName + ".png");
}
答案 1 :(得分:-1)
我将从一些显而易见的事情开始,因为您还没有指出尝试过的内容。如果您已经完成或知道这一点,我深表歉意。
以“ /”开头的路径位于类路径中的某个位置。不以“ /”开头的路径从调用代码的地方开始。您的类路径根目录可能与您想像的不一样,或者.png文件没有从源目录移动到目标目录。
您是否已验证文件位于目标目录中(假设您使用maven进行构建),或者您的.class文件最终位于何处?
您是否已验证自己的课程路径根目录是什么?