Java class.getClassLoader().getResource("")获取资源路径

在开发中经常需要获取资源文件路径,例如读写配置文件等。Java也提供很多方法来获取这些路径,下面就几种常用到的作一下讨论区分:
1、xxx.class.getClassLoader().getResource(“”).getPath();
获取src资源文件编译后的路径(即classes路径)
2、xxx.class.getClassLoader().getResource(“文件”).getPath();
获取classes路径下“文件”的路径
3、xxx.class.getResource(“”).getPath();
缺少类加载器,获取xxx类经编译后的xxx.class路径
4、this.getClass().getClassLoader().getResource(“”).getPath();
以上三种方法的另外一种写法
5、request().getSession().getServletContext().getRealPath(“”);
获取web项目的路径
例如:

System.out.println(FileUpLoadAction.class.getClassLoader().getResource("conf.properties").getPath());
            System.out.println(FileUpLoadAction.class.getClassLoader().getResource("").getPath());
            System.out.println(FileUpLoadAction.class.getResource("").getPath());
            System.out.println(this.getClass().getClassLoader().getResource("").getPath());
            System.out.println(ServletActionContext.getRequest().getSession().getServletContext().getRealPath("login.jsp"));

输出依次为:

/D:/codes/trunk/client/web/IBMS/myworkspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/webclient/WEB-INF/classes/conf.properties
/D:/codes/trunk/client/web/IBMS/myworkspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/webclient/WEB-INF/classes/
/D:/codes/trunk/client/web/IBMS/myworkspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/webclient/WEB-INF/classes/com/gmi/client/
/D:/codes/trunk/client/web/IBMS/myworkspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/webclient/WEB-INF/classes/
D:\codes\trunk\client\web\IBMS\myworkspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\webclient\login.jsp

此外,对于读写配置文件,例如properties文件,Java还提供了getResourceAsStream(“文件”)方法返回一个InputStream供读取文件:
InputStream is = this.getClass().getClassLoader().getResourceAsStream(“conf.properties”);
好了,以上也只是一部分方法,还有诸多不足之处,后续补充,欢迎指正!!!

  • 8
    点赞
  • 42
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值