概述
加载资源的方式
1 正常的文件读取File
2 类加载器
重点说类加载器
如上图的包资源com.lsl.mybatis.io.resources.propeties
2.1 Clas.clss.getResourceAsStream(String path);
提示:所有的类加载器对应的getResourceAsStream(),默认都是从当前类下查找
说明: path参数:直接写文件名称,默认是从当前类路径下获取
'/' 首位已 '/' 开始,需要从classpath根目录下加载
public static void main(String[] agrs){
InputStream is = ResolverUitls.class.getResourceAsStream("resources.properties");
Properties p = new Properties();
try{
p.load(is);
String username = p.getProperty("username");
System.out.println("" + username);
} catch (IOException io){
}
}
上面的结果:正常是获取到当前类路径下文件,并输出结果
异常: 抛出空指针,并没有加载到该资源文件,后追踪后发现,是编译的该包目录下不存在该文件。
所以需要解决该目录下该文件不存在的问题,之后在执行就ok
3. 获取web项目下的指定资源
1)、 ServletContext. getResourceAsStream(String path):默认从WebAPP根目录(即:要发布在服务器下的项目的根目录(与src同级的web文件夹下))下取资源,path是否以’/'开头无所谓;
例: A)、在web项目的根目录下有myfile.xml文件,则应该使用:
getServleContext().getResourceAsStream("myfile.xml");
最后
以上就是精明小蝴蝶为你收集整理的java类加载加载资源的方式以及加载资源失败问题的全部内容,希望文章能够帮你解决java类加载加载资源的方式以及加载资源失败问题所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复