public InputStream getResourceAsStream ( Class className, String name){
InputStream in = null;
in = className.getClassLoader().getResourceAsStream(name);
return in;
}
className:使用Class.forName()加载的类。
name:同一目录中存在的资源的名称。
问题:结果始终为空。
尽管我尝试了很多方法,但有人可以告诉我上面的代码有什么问题吗?
最佳答案
几天前我自己也遇到了同样的问题。但我发现我传递名字的方式是错误的。我的意思是我弄乱了相对路径和绝对路径。如果无法找到名称,则会抛出 nullpointerException。
要检查您的代码是否正常并且问题仅与名称有关,只需对名称的整个路径进行硬编码并确保其加载即可。如果是这样,那么这只是你必须纠正的一个小问题。其次,唯一的另一个问题是,如果您从静态 block 加载它,那么语法可能会有所不同。不然应该没有问题。
您可以检查文件加载情况的好地方是 http://www.javaworld.com/javaworld/javaqa/2003-08/01-qa-0808-property.html?page=2
请告诉我这是否有帮助..
关于java - 类加载器的异常行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7329077/