【发布时间】:2014-06-24 17:31:41
【问题描述】:
我正在尝试使用此代码从静态方法获取资源(image.png,与此代码在同一个包中):
import java.net.*;
public class StaticResource {
public static void main(String[] args) {
URL u = StaticResource.class.getClass().getResource("image.png");
System.out.println(u);
}
}
输出只是'null'
我也试过StaticResource.class.getClass().getClassLoader().getResource("image.png");
,它会抛出一个NullPointerException
我见过其他可行的解决方案,我做错了什么?
【问题讨论】:
-
您遇到什么错误?你确定你的类路径中有图片吗?
-
ClassName.class 与 SomeClassReference.getClass() 完全相同。您正在获取 StaticResource 类的类。
-
@jgitter 它要么输出 null 要么抛出 NullPointerException
-
不要这样使用。为什么使用
getClassLoader()?只需使用StaticResource.class.getResource("image.png") -
始终尝试将资源放在 JAVA 代码之外,以便其他包的类更易于管理和重用。
标签: java url static getresource