获取当前类运行的根目录(即classpath,如bin、classes、AppName等)的方式有:

1、Thread.currentThread().getContextClassLoader().getResource("").getPath()

2、ClassLoader.getSystemClassLoader().getResource("").getPath()

3、XX.class.getResource("/").getPath(),注意这个要有/,不然它会具体的某个包而不是classes目录,上面的不能有/否则报错

注:用System.getProperty("user.dir")的方式对于webapp而言不可取。

获取webapp的WEB-INF目录可以用:this.getServletContext().getRealPath("/").concat("WEB-INF/")

获取配置文件可以用:Thread.currentThread().getContextClassLoader().getResourceAsStream("db.properties")

,注意这个方法不能用来获取如.java文件否则会报错(报错原因最终应该是URLClassPath的内部类的FileLoader在getResource中check时发现.java是不允许的后缀所以产生异常从而return null,用了5个反编译器那部分代码都没有反编译出来)。

最新文章

  1. 22. javacript高级程序设计-高级技巧
  2. python3+任务计划实现的人人影视网站自动签到
  3. iOS edgesForExtendedLayout、extendedLayoutIncludesOpaqueBars、automaticallyAdjustsScrollViewInsets属性详解
  4. Eclipse:启动时提示"Failed to load the JNI shared library"的解决方案
  5. 0910 noip模拟
  6. awk 统计数据在文件中的出现次数
  7. matplotlib 绘制柱状图的几个例子
  8. The New Debugger
  9. BUILD_BUG_ON 的解释
  10. JAVA面试题相关基础知识
  11. UVAlive3126 Taxi Cab Scheme(DAG的最小路径覆盖)
  12. POJ1850-Code 递推数学
  13. .net core 使用Redis的发布订阅
  14. 使用TransactionScope(轻量级事务)实现数据库操作事务
  15. jenkins创建pipeline
  16. Android开发学习之路--Android系统架构初探
  17. 如何安装 PhoneGap / Cordova (for Win10)
  18. ApplicationListener详解
  19. SpringBoot+Jpa+MySql学习
  20. Gnome增加消息提醒extension ( Fedora 28 )

热门文章

  1. 使用canvas绘制时钟 (http://heeroluo.net/Article/Detail/95)
  2. mysql数据库表卡死解决方法
  3. MVC Code First(数据模型实例讲解)
  4. c++头文件重复引用问题
  5. Servlet之会话(Session)以及会话追踪技术(Cookie),(URL重写)和(隐藏表单域)
  6. PHP如何强制下载文件
  7. NGUI_Input
  8. OBS源码解析(1)main函数
  9. python入门基础
  10. 不用分支语句实现1+2+。。。+n