ClassLoader.getResourceAsStream()方法返回null

yanshujun 2009-07-24 09:15:42
InputStream in = new BufferedInputStream(new FileInputStream("source/com/cat/dao/daoconflg.properties"));
采用这种方法输出in不是null。
ClassLoader cl=DaoFactory.class.getClassLoader();
System.out.println(cl);
InputStream in=cl.getResourceAsStream("//daoconflg.properties");
System.out.println(in);
第一个c1输出不是空,单第二个in输出就是空了。
将"/daoconflg.properties"与"daoconflg.properties"都试过了 不行
另外daoconflg.properties放在classpath的子目录下
...全文
1425 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
yanshujun 2009-08-09
  • 打赏
  • 举报
回复 1
问题解决了:
ClassLoader cl=DaoFactory.class.getClassLoader();
System.out.println(cl);
InputStream is=cl.getResourceAsStream("daoconflg.properties");
System.out.println(is);
我那天试怎么死活就没成功能???
yanshujun 2009-07-24
  • 打赏
  • 举报
回复
InputStream in=df.getClass().getResourceAsStream("source/com/cat/dao/daoconflg.properties")
还是不行,老师讲了时候是这样做的:
InputStream in=DaoFactory.class.getClassLoader().getResourceAsStream("daoconflg.properties");
说这样做的好处是编译器来自动寻找daoconflg.properties,当然,前提是daoconflg.properties放在classpath路径下。也就是说只要daoconflg.properties放在编译器路径下,无论哪个地方,都会被找到。
一洽客服系统 2009-07-24
  • 打赏
  • 举报
回复
使用类路径吧/com/cat/dao/daoconflg.properties

62,616

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧